Added Alpha Restorations; Removed Mod Backups
This commit is contained in:
parent
cff4ef8373
commit
4974af39cb
|
@ -1,12 +1,12 @@
|
|||
[General]
|
||||
gameName=spt
|
||||
modid=0
|
||||
version=d2024.12.16.0
|
||||
version=d2025.1.5.0
|
||||
newestVersion=
|
||||
category="-1,"
|
||||
category="1,"
|
||||
nexusFileStatus=1
|
||||
installationFile=AlphaRestorations.zip
|
||||
repository=Nexus
|
||||
repository=
|
||||
ignoredVersion=
|
||||
comments=
|
||||
notes=
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
[General]
|
||||
gameName=spt
|
||||
modid=0
|
||||
version=d2024.12.16.0
|
||||
newestVersion=
|
||||
category="1,"
|
||||
nexusFileStatus=1
|
||||
installationFile=inory-dynamicgoons-1.0.2.rar
|
||||
repository=Nexus
|
||||
ignoredVersion=
|
||||
comments=
|
||||
notes=
|
||||
nexusDescription=
|
||||
url=
|
||||
hasCustomURL=true
|
||||
lastNexusQuery=
|
||||
lastNexusUpdate=
|
||||
nexusLastModified=2024-12-16T05:56:04Z
|
||||
nexusCategory=0
|
||||
converted=false
|
||||
validated=false
|
||||
color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)
|
||||
tracked=0
|
||||
|
||||
[installedFiles]
|
||||
1\modid=0
|
||||
1\fileid=0
|
||||
size=1
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"debugLogs": false,
|
||||
"preventSameMapRotation": false,
|
||||
"goonsSpawnChance": 30,
|
||||
"rotationInterval": 180
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
{
|
||||
"name": "Dynamic Goons",
|
||||
"version": "1.0.2",
|
||||
"sptVersion": "~3.10",
|
||||
"loadBefore": [],
|
||||
"loadAfter": [],
|
||||
"incompatibilities": [],
|
||||
"isBundleMod": false,
|
||||
"main": "src/mod.js",
|
||||
"scripts": {
|
||||
"setup": "npm i",
|
||||
"build": "node ./build.mjs",
|
||||
"buildinfo": "node ./build.mjs --verbose"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "20.11",
|
||||
"@typescript-eslint/eslint-plugin": "7.2",
|
||||
"@typescript-eslint/parser": "7.2",
|
||||
"archiver": "^6.0",
|
||||
"eslint": "8.57",
|
||||
"fs-extra": "11.2",
|
||||
"ignore": "^5.2",
|
||||
"tsyringe": "4.8.0",
|
||||
"typescript": "5.4",
|
||||
"winston": "3.12"
|
||||
},
|
||||
"author": "inory",
|
||||
"contributors": [],
|
||||
"license": "MIT"
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
import { inject, injectAll, injectable } from "tsyringe";
|
||||
|
||||
import { AbstractDialogueChatBot } from "@spt/helpers/Dialogue/AbstractDialogueChatBot";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { MemberCategory } from "@spt/models/enums/MemberCategory";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
|
||||
@injectable()
|
||||
export class GoonsTracker extends AbstractDialogueChatBot {
|
||||
constructor(
|
||||
@inject("WinstonLogger") logger: ILogger,
|
||||
@inject("MailSendService") mailSendService: MailSendService,
|
||||
@injectAll("TrackerCommands") chatCommands: IChatCommand[]
|
||||
) {
|
||||
super(logger, mailSendService, chatCommands);
|
||||
}
|
||||
|
||||
public getChatBot(): IUserDialogInfo {
|
||||
return {
|
||||
_id: "674d96b02225f02fff47b3be",
|
||||
aid: 777,
|
||||
Info: {
|
||||
Level: 1,
|
||||
MemberCategory: MemberCategory.SHERPA,
|
||||
SelectedMemberCategory: MemberCategory.SHERPA,
|
||||
Nickname: "Goons Tracker",
|
||||
Side: "Usec",
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
protected getUnrecognizedCommandMessage(): string {
|
||||
return (
|
||||
"Unrecognized command, please type goons track to receive details of The Goon's location. " +
|
||||
"Or type goons rotation if you need an explanation for their rotation mechanic."
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,76 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { ChatLocationService } from "../services/ChatLocationService";
|
||||
|
||||
@injectable()
|
||||
export class TrackerCommands implements IChatCommand {
|
||||
constructor(
|
||||
@inject("MailSendService") protected mailSendService: MailSendService,
|
||||
@inject("ChatLocationService") private locationService: ChatLocationService
|
||||
) {}
|
||||
|
||||
public getCommandPrefix(): string {
|
||||
return "goons";
|
||||
}
|
||||
|
||||
public getCommandHelp(command: string): string {
|
||||
if (command === "track") {
|
||||
return "Usage: goons track - Get current rotation information.";
|
||||
} else if (command === "rotation") {
|
||||
return "Usage: goons rotation - Learn about the rotation mechanics.";
|
||||
}
|
||||
}
|
||||
|
||||
public getCommands(): Set<string> {
|
||||
return new Set<string>(["track", "rotation"]);
|
||||
}
|
||||
|
||||
public handle(
|
||||
command: string,
|
||||
commandHandler: IUserDialogInfo,
|
||||
sessionId: string,
|
||||
request: ISendMessageRequest
|
||||
): string {
|
||||
if (command === "track") {
|
||||
try {
|
||||
const locationData = this.locationService.getLocationData();
|
||||
|
||||
const responseMessage =
|
||||
`Location: ${locationData.location}\n` +
|
||||
`Last Seen: ${locationData.timeSinceLastSeen} minutes ago\n` +
|
||||
`Rotation: ${locationData.rotationChance.toFixed(2)}%\n` +
|
||||
`${locationData.dateLastSeen}`;
|
||||
|
||||
this.mailSendService.sendUserMessageToPlayer(
|
||||
sessionId,
|
||||
commandHandler,
|
||||
responseMessage
|
||||
);
|
||||
} catch (error) {
|
||||
console.error("Error in handle:", error.message);
|
||||
this.mailSendService.sendUserMessageToPlayer(
|
||||
sessionId,
|
||||
commandHandler,
|
||||
"Error retrieving location data. Please try again later."
|
||||
);
|
||||
}
|
||||
} else if (command === "rotation") {
|
||||
const rotationExplanation =
|
||||
"The Goons stay on a map for a variable amount of time. " +
|
||||
"As time passes, the chance of them switching to a new " +
|
||||
"map increases. They will rotate to a new map at the end of a raid based on this chance. " +
|
||||
"Use goons track to see where they are currently and their rotation chance.";
|
||||
|
||||
this.mailSendService.sendUserMessageToPlayer(
|
||||
sessionId,
|
||||
commandHandler,
|
||||
rotationExplanation
|
||||
);
|
||||
}
|
||||
|
||||
return request.dialogId;
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"nextUpdateTime": 1735392538981,
|
||||
"selectedMap": "shoreline",
|
||||
"lastRotationInterval": 180,
|
||||
"lastUpdateTime": 1735381738981
|
||||
}
|
|
@ -1,137 +0,0 @@
|
|||
import * as path from "path";
|
||||
import type { DependencyContainer } from "tsyringe";
|
||||
import type { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import type { IPostDBLoadMod } from "@spt/models/external/IPostDBLoadMod";
|
||||
import type { IPreSptLoadMod } from "@spt/models/external/IPreSptLoadMod";
|
||||
import type { DatabaseServer } from "@spt/servers/DatabaseServer";
|
||||
import type { IDatabaseTables } from "@spt/models/spt/server/IDatabaseTables";
|
||||
import type { StaticRouterModService } from "@spt/services/mod/staticRouter/StaticRouterModService";
|
||||
import type { LocationCallbacks } from "@spt/callbacks/LocationCallback";
|
||||
import type { ILocations } from "@spt/models/spt/server/ILocations";
|
||||
import { DialogueController } from "@spt/controllers/DialogueController";
|
||||
|
||||
import { TrackerCommands } from "./chatbot/TrackerCommands";
|
||||
import { GoonsTracker } from "./chatbot/GoonsTracker";
|
||||
import { ChatLocationService } from "./services/ChatLocationService";
|
||||
import { RotationService } from "./services/RotationService";
|
||||
|
||||
class Mod implements IPostDBLoadMod, IPreSptLoadMod {
|
||||
private logger: ILogger;
|
||||
private databaseServer: DatabaseServer;
|
||||
private tables: IDatabaseTables;
|
||||
private maps: ILocations;
|
||||
private locationCallbacks: LocationCallbacks;
|
||||
private rotationService: RotationService;
|
||||
private rotationData = path.resolve(__dirname, "db/rotationData.json");
|
||||
private modConfig = require("../config/config.json");
|
||||
|
||||
private async postDBLoad(container: DependencyContainer): Promise<void> {
|
||||
this.databaseServer = container.resolve<DatabaseServer>("DatabaseServer");
|
||||
this.tables = this.databaseServer.getTables();
|
||||
this.maps = this.tables.locations;
|
||||
this.locationCallbacks =
|
||||
container.resolve<LocationCallbacks>("LocationCallbacks");
|
||||
|
||||
container.register("ChatLocationService", {
|
||||
useClass: ChatLocationService,
|
||||
});
|
||||
|
||||
container.register<TrackerCommands>("TrackerCommands", TrackerCommands);
|
||||
container.register<GoonsTracker>("GoonsTracker", GoonsTracker);
|
||||
|
||||
container
|
||||
.resolve<DialogueController>("DialogueController")
|
||||
.registerChatBot(container.resolve<GoonsTracker>("GoonsTracker"));
|
||||
|
||||
this.rotationService = new RotationService(
|
||||
this.logger,
|
||||
this.modConfig,
|
||||
this.rotationData
|
||||
);
|
||||
|
||||
const rotationData = await this.rotationService.readRotationData();
|
||||
const currentTime = Date.now();
|
||||
const rotationInterval = this.modConfig.rotationInterval;
|
||||
|
||||
await this.rotationService.handleRotationChance(
|
||||
rotationData,
|
||||
currentTime,
|
||||
rotationInterval
|
||||
);
|
||||
}
|
||||
|
||||
public async preSptLoad(container: DependencyContainer): Promise<void> {
|
||||
this.logger = container.resolve<ILogger>("WinstonLogger");
|
||||
|
||||
const staticRouterModService = container.resolve<StaticRouterModService>(
|
||||
"StaticRouterModService"
|
||||
);
|
||||
|
||||
staticRouterModService.registerStaticRouter(
|
||||
"RotationUpdate",
|
||||
[
|
||||
{
|
||||
url: "/client/locations",
|
||||
action: async (
|
||||
url: string,
|
||||
info: any,
|
||||
sessionId: string,
|
||||
output: string
|
||||
) => {
|
||||
await this.updateBossSpawnChances();
|
||||
return this.locationCallbacks.getLocationData(url, info, sessionId);
|
||||
},
|
||||
},
|
||||
{
|
||||
url: "/client/match/local/end",
|
||||
action: async (url, info, sessionId, output) => {
|
||||
const rotationData = await this.rotationService.readRotationData();
|
||||
const currentTime = Date.now();
|
||||
const rotationInterval = this.modConfig.rotationInterval || 180;
|
||||
|
||||
await this.rotationService.handleRotationChance(
|
||||
rotationData,
|
||||
currentTime,
|
||||
rotationInterval
|
||||
);
|
||||
|
||||
return output;
|
||||
},
|
||||
},
|
||||
],
|
||||
"spt"
|
||||
);
|
||||
}
|
||||
|
||||
private async updateBossSpawnChances(): Promise<void> {
|
||||
const { selectedMap } =
|
||||
await this.rotationService.getNextUpdateTimeAndMapData();
|
||||
const mapPool = ["bigmap", "shoreline", "lighthouse", "woods"];
|
||||
const bossName = "bossKnight";
|
||||
const spawnChance = this.modConfig.goonsSpawnChance;
|
||||
|
||||
for (const mapName of mapPool) {
|
||||
const mapBosses = this.maps[mapName]?.base?.BossLocationSpawn || [];
|
||||
|
||||
for (const mapBoss of mapBosses) {
|
||||
if (mapBoss.BossName !== bossName) continue;
|
||||
|
||||
if (this.modConfig.debugLogs) {
|
||||
this.logger.info(
|
||||
`[Dynamic Goons] ${mapName}: Before Chance: ${mapBoss.BossChance}`
|
||||
);
|
||||
}
|
||||
|
||||
mapBoss.BossChance = mapName === selectedMap ? spawnChance : 0;
|
||||
|
||||
if (this.modConfig.debugLogs) {
|
||||
this.logger.info(
|
||||
`[Dynamic Goons] ${mapName}: After Chance: ${mapBoss.BossChance}`
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const mod = new Mod();
|
|
@ -1,80 +0,0 @@
|
|||
import { injectable } from "tsyringe";
|
||||
import * as fs from "fs";
|
||||
import * as path from "path";
|
||||
import { rotationChanceCalculator } from "./RotationChanceCalculator";
|
||||
|
||||
@injectable()
|
||||
export class ChatLocationService {
|
||||
private dataFilePath = path.resolve(__dirname, "../db/rotationData.json");
|
||||
private modConfig = require("../../config/config.json");
|
||||
|
||||
public getLocationData(): {
|
||||
location: string;
|
||||
timeSinceLastSeen: number;
|
||||
rotationChance: number;
|
||||
dateLastSeen: string;
|
||||
} {
|
||||
try {
|
||||
const data = fs.readFileSync(this.dataFilePath, "utf-8");
|
||||
const parsedData = JSON.parse(data);
|
||||
|
||||
if (
|
||||
parsedData &&
|
||||
parsedData.selectedMap &&
|
||||
typeof parsedData.lastUpdateTime === "number"
|
||||
) {
|
||||
const locationMap: { [key: string]: string } = {
|
||||
bigmap: "Customs",
|
||||
woods: "Woods",
|
||||
shoreline: "Shoreline",
|
||||
lighthouse: "Lighthouse",
|
||||
};
|
||||
|
||||
const location = locationMap[parsedData.selectedMap.toLowerCase()];
|
||||
|
||||
const currentTime = Date.now();
|
||||
const timeSinceLastSeen = Math.max(
|
||||
0,
|
||||
Math.floor((currentTime - parsedData.lastUpdateTime) / 1000 / 60)
|
||||
);
|
||||
|
||||
const remainingTime = parsedData.nextUpdateTime - currentTime;
|
||||
const rotationChance = this.calculateRotationChance(remainingTime);
|
||||
|
||||
const dateLastSeen = new Date(parsedData.lastUpdateTime).toLocaleString(
|
||||
"en-US",
|
||||
{
|
||||
weekday: "long",
|
||||
year: "numeric",
|
||||
month: "long",
|
||||
day: "numeric",
|
||||
hour: "2-digit",
|
||||
minute: "2-digit",
|
||||
hour12: true,
|
||||
}
|
||||
);
|
||||
|
||||
return {
|
||||
location,
|
||||
timeSinceLastSeen,
|
||||
rotationChance,
|
||||
dateLastSeen,
|
||||
};
|
||||
} else {
|
||||
throw new Error("Invalid data format in the JSON file.");
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error reading or parsing the JSON file:", error.message);
|
||||
throw new Error(
|
||||
"Error retrieving location data. Please try again later."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public calculateRotationChance(remainingTime: number): number {
|
||||
return rotationChanceCalculator(
|
||||
remainingTime,
|
||||
this.modConfig.rotationInterval
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
|
||||
export function rotationChanceCalculator(
|
||||
remainingTime: number,
|
||||
rotationInterval: number,
|
||||
logger: ILogger | null = null,
|
||||
debugLogs: boolean = false
|
||||
): number {
|
||||
const maxTime = rotationInterval * 60 * 1000;
|
||||
const maxChance = 100;
|
||||
|
||||
if (remainingTime <= 0) {
|
||||
return maxChance;
|
||||
}
|
||||
|
||||
const factor = remainingTime / maxTime;
|
||||
|
||||
const steepFactor = Math.pow(factor, 0.3); // Adjust the rotation chance curve, smaller exponent, slower the initial rise
|
||||
|
||||
const chance = maxChance * (1 - Math.pow(steepFactor, 1));
|
||||
|
||||
if (debugLogs && logger) {
|
||||
logger.info(
|
||||
`[Dynamic Goons] Remaining time: ${remainingTime}ms, Rotation chance: ${chance}%`
|
||||
);
|
||||
}
|
||||
|
||||
return chance;
|
||||
}
|
|
@ -1,193 +0,0 @@
|
|||
import * as fs from "fs";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { inject, injectable } from "tsyringe";
|
||||
import { rotationChanceCalculator } from "../services/RotationChanceCalculator";
|
||||
|
||||
@injectable()
|
||||
export class RotationService {
|
||||
private modConfig: any;
|
||||
private rotationData: string;
|
||||
|
||||
constructor(
|
||||
@inject("Logger") private logger: ILogger,
|
||||
modConfig: any,
|
||||
rotationDataFilePath: string
|
||||
) {
|
||||
this.modConfig = modConfig;
|
||||
this.rotationData = rotationDataFilePath;
|
||||
}
|
||||
|
||||
public async getNextUpdateTimeAndMapData(): Promise<{
|
||||
nextUpdateTime: number;
|
||||
selectedMap: string;
|
||||
}> {
|
||||
try {
|
||||
const rotationData = await this.readRotationData();
|
||||
return {
|
||||
nextUpdateTime: rotationData.nextUpdateTime,
|
||||
selectedMap: rotationData.selectedMap,
|
||||
};
|
||||
} catch (error) {
|
||||
this.logger.error(
|
||||
`[Dynamic Goons] Error reading rotation data: ${error.message}`
|
||||
);
|
||||
return { nextUpdateTime: 0, selectedMap: "bigmap" };
|
||||
}
|
||||
}
|
||||
|
||||
public async handleRotationChance(
|
||||
rotationData: any,
|
||||
currentTime: number,
|
||||
rotationInterval: number
|
||||
): Promise<void> {
|
||||
const remainingTime = rotationData.nextUpdateTime - currentTime;
|
||||
const rotationChance = rotationChanceCalculator(
|
||||
remainingTime,
|
||||
rotationInterval,
|
||||
this.logger,
|
||||
this.modConfig.debugLogs
|
||||
);
|
||||
|
||||
if (this.modConfig.debugLogs) {
|
||||
this.logger.info(
|
||||
`[Dynamic Goons] Remaining time: ${remainingTime}ms, Rotation chance: ${rotationChance}%`
|
||||
);
|
||||
}
|
||||
|
||||
const randomRoll = Math.random() * 100;
|
||||
|
||||
if (rotationData.lastRotationInterval !== this.modConfig.rotationInterval) {
|
||||
if (this.modConfig.debugLogs) {
|
||||
this.logger.info(
|
||||
`[Dynamic Goons] Rotation interval changed. Rotating now.`
|
||||
);
|
||||
}
|
||||
await this.selectRandomMapAndSave(rotationInterval);
|
||||
}
|
||||
|
||||
if (randomRoll <= rotationChance) {
|
||||
if (this.modConfig.debugLogs) {
|
||||
this.logger.info(`[Dynamic Goons] Rotation triggered. Rotating now.`);
|
||||
}
|
||||
await this.selectRandomMapAndSave(rotationInterval);
|
||||
}
|
||||
}
|
||||
|
||||
public calculateRotationChance(remainingTime: number): number {
|
||||
const maxTime = this.modConfig.rotationInterval * 60 * 1000;
|
||||
const maxChance = 100;
|
||||
|
||||
if (remainingTime <= 0) return maxChance;
|
||||
|
||||
const factor = Math.min(Math.max(remainingTime / maxTime, 0), 1);
|
||||
const chance = maxChance * (1 - Math.pow(factor, 2));
|
||||
|
||||
if (this.modConfig.debugLogs) {
|
||||
this.logger.info(
|
||||
`[Dynamic Goons] Remaining time: ${remainingTime}ms, Rotation chance: ${chance}%`
|
||||
);
|
||||
}
|
||||
|
||||
return chance;
|
||||
}
|
||||
|
||||
private async selectRandomMapAndSave(
|
||||
rotationInterval: number
|
||||
): Promise<void> {
|
||||
const rotationData = await this.readRotationData();
|
||||
const chosenMap = this.getRandomMap(rotationData.selectedMap);
|
||||
|
||||
const nextUpdateTime = Date.now() + rotationInterval * 60 * 1000;
|
||||
const lastUpdateTime = Date.now();
|
||||
|
||||
if (this.modConfig.debugLogs) {
|
||||
const updateTimeString = new Date(nextUpdateTime).toLocaleTimeString(
|
||||
"en-GB",
|
||||
{
|
||||
hour: "2-digit",
|
||||
minute: "2-digit",
|
||||
second: "2-digit",
|
||||
}
|
||||
);
|
||||
if (this.modConfig.debugLogs) {
|
||||
const remainingTimeFormatted = this.formatTime(
|
||||
nextUpdateTime - Date.now()
|
||||
);
|
||||
this.logger.info(
|
||||
`[Dynamic Goons] Selected Map: ${chosenMap}, Update Scheduled in: ${updateTimeString}, Remaining Time: ${remainingTimeFormatted}, Last Rotation: ${new Date(
|
||||
lastUpdateTime
|
||||
).toLocaleString()}`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
await this.saveNextUpdateTimeAndMapData(
|
||||
nextUpdateTime,
|
||||
chosenMap,
|
||||
rotationInterval,
|
||||
lastUpdateTime
|
||||
);
|
||||
}
|
||||
|
||||
private async saveNextUpdateTimeAndMapData(
|
||||
nextUpdateTime: number,
|
||||
selectedMap: string,
|
||||
lastRotationInterval: number,
|
||||
lastUpdateTime: number
|
||||
): Promise<void> {
|
||||
try {
|
||||
const data = {
|
||||
nextUpdateTime,
|
||||
selectedMap,
|
||||
lastRotationInterval,
|
||||
lastUpdateTime,
|
||||
};
|
||||
await fs.promises.writeFile(
|
||||
this.rotationData,
|
||||
JSON.stringify(data, null, 4),
|
||||
"utf8"
|
||||
);
|
||||
|
||||
if (this.modConfig.debugLogs) {
|
||||
this.logger.info(`[Dynamic Goons] Rotation data saved successfully.`);
|
||||
}
|
||||
} catch (error) {
|
||||
this.logger.error(
|
||||
`[Dynamic Goons] Error saving rotation data: ${error.message}`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public async readRotationData(): Promise<any> {
|
||||
try {
|
||||
const data = await fs.promises.readFile(this.rotationData, "utf8");
|
||||
return JSON.parse(data);
|
||||
} catch (error) {
|
||||
this.logger.error(
|
||||
`[Dynamic Goons] Error reading rotation data: ${error.message}`
|
||||
);
|
||||
return {
|
||||
lastRotationInterval: 180,
|
||||
nextUpdateTime: 0,
|
||||
selectedMap: "bigmap",
|
||||
lastUpdateTime: 0,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
private getRandomMap(excludeMap: string | null = null): string {
|
||||
const mapPool = ["bigmap", "shoreline", "lighthouse", "woods"];
|
||||
const availableMaps = excludeMap
|
||||
? mapPool.filter((map) => map !== excludeMap)
|
||||
: mapPool;
|
||||
return availableMaps[Math.floor(Math.random() * availableMaps.length)];
|
||||
}
|
||||
|
||||
//This is just for making debugging logs easier to read for me :v
|
||||
private formatTime(ms: number): string {
|
||||
const hours = Math.floor(ms / (1000 * 60 * 60));
|
||||
const minutes = Math.floor((ms % (1000 * 60 * 60)) / (1000 * 60));
|
||||
const seconds = Math.floor((ms % (1000 * 60)) / 1000);
|
||||
return `${hours}h ${minutes}m ${seconds}s`;
|
||||
}
|
||||
}
|
Binary file not shown.
|
@ -1,283 +0,0 @@
|
|||
Copyright © 2024 Lacyway CC BY-NC-SA 4.0
|
||||
|
||||
Attribution-NonCommercial-ShareAlike 4.0 International
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
|
||||
|
||||
Using Creative Commons Public Licenses
|
||||
|
||||
Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
|
||||
|
||||
Considerations for licensors: Our public licenses are
|
||||
intended for use by those authorized to give the public
|
||||
permission to use material in ways otherwise restricted by
|
||||
copyright and certain other rights. Our licenses are
|
||||
irrevocable. Licensors should read and understand the terms
|
||||
and conditions of the license they choose before applying it.
|
||||
Licensors should also secure all rights necessary before
|
||||
applying our licenses so that the public can reuse the
|
||||
material as expected. Licensors should clearly mark any
|
||||
material not subject to the license. This includes other CC-
|
||||
licensed material, or material used under an exception or
|
||||
limitation to copyright. More considerations for licensors:
|
||||
wiki.creativecommons.org/Considerations_for_licensors
|
||||
|
||||
Considerations for the public: By using one of our public
|
||||
licenses, a licensor grants the public permission to use the
|
||||
licensed material under specified terms and conditions. If
|
||||
the licensor's permission is not necessary for any reason--for
|
||||
example, because of any applicable exception or limitation to
|
||||
copyright--then that use is not regulated by the license. Our
|
||||
licenses grant only permissions under copyright and certain
|
||||
other rights that a licensor has authority to grant. Use of
|
||||
the licensed material may still be restricted for other
|
||||
reasons, including because others have copyright or other
|
||||
rights in the material. A licensor may make special requests,
|
||||
such as asking that all changes be marked or described.
|
||||
Although not required by our licenses, you are encouraged to
|
||||
respect those requests where reasonable. More considerations
|
||||
for the public:
|
||||
wiki.creativecommons.org/Considerations_for_licensees
|
||||
=======================================================================
|
||||
|
||||
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License
|
||||
|
||||
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
|
||||
|
||||
Section 1 -- Definitions.
|
||||
|
||||
a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
|
||||
|
||||
b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
|
||||
|
||||
c. BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.
|
||||
|
||||
d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
|
||||
|
||||
e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
|
||||
|
||||
f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
|
||||
|
||||
g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike.
|
||||
|
||||
h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
|
||||
|
||||
i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
|
||||
|
||||
j. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
|
||||
|
||||
k. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
|
||||
|
||||
l. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
|
||||
|
||||
m. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
|
||||
|
||||
n. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
|
||||
|
||||
Section 2 -- Scope.
|
||||
|
||||
a. License grant.
|
||||
|
||||
1. Subject to the terms and conditions of this Public License,
|
||||
the Licensor hereby grants You a worldwide, royalty-free,
|
||||
non-sublicensable, non-exclusive, irrevocable license to
|
||||
exercise the Licensed Rights in the Licensed Material to:
|
||||
|
||||
a. reproduce and Share the Licensed Material, in whole or
|
||||
in part, for NonCommercial purposes only; and
|
||||
|
||||
b. produce, reproduce, and Share Adapted Material for
|
||||
NonCommercial purposes only.
|
||||
|
||||
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||
Exceptions and Limitations apply to Your use, this Public
|
||||
License does not apply, and You do not need to comply with
|
||||
its terms and conditions.
|
||||
|
||||
3. Term. The term of this Public License is specified in Section
|
||||
6(a).
|
||||
|
||||
4. Media and formats; technical modifications allowed. The
|
||||
Licensor authorizes You to exercise the Licensed Rights in
|
||||
all media and formats whether now known or hereafter created,
|
||||
and to make technical modifications necessary to do so. The
|
||||
Licensor waives and/or agrees not to assert any right or
|
||||
authority to forbid You from making technical modifications
|
||||
necessary to exercise the Licensed Rights, including
|
||||
technical modifications necessary to circumvent Effective
|
||||
Technological Measures. For purposes of this Public License,
|
||||
simply making modifications authorized by this Section 2(a)
|
||||
(4) never produces Adapted Material.
|
||||
|
||||
5. Downstream recipients.
|
||||
|
||||
a. Offer from the Licensor -- Licensed Material. Every
|
||||
recipient of the Licensed Material automatically
|
||||
receives an offer from the Licensor to exercise the
|
||||
Licensed Rights under the terms and conditions of this
|
||||
Public License.
|
||||
|
||||
b. Additional offer from the Licensor -- Adapted Material.
|
||||
Every recipient of Adapted Material from You
|
||||
automatically receives an offer from the Licensor to
|
||||
exercise the Licensed Rights in the Adapted Material
|
||||
under the conditions of the Adapter's License You apply.
|
||||
|
||||
c. No downstream restrictions. You may not offer or impose
|
||||
any additional or different terms or conditions on, or
|
||||
apply any Effective Technological Measures to, the
|
||||
Licensed Material if doing so restricts exercise of the
|
||||
Licensed Rights by any recipient of the Licensed
|
||||
Material.
|
||||
|
||||
6. No endorsement. Nothing in this Public License constitutes or
|
||||
may be construed as permission to assert or imply that You
|
||||
are, or that Your use of the Licensed Material is, connected
|
||||
with, or sponsored, endorsed, or granted official status by,
|
||||
the Licensor or others designated to receive attribution as
|
||||
provided in Section 3(a)(1)(A)(i).
|
||||
b. Other rights.
|
||||
|
||||
1. Moral rights, such as the right of integrity, are not
|
||||
licensed under this Public License, nor are publicity,
|
||||
privacy, and/or other similar personality rights; however, to
|
||||
the extent possible, the Licensor waives and/or agrees not to
|
||||
assert any such rights held by the Licensor to the limited
|
||||
extent necessary to allow You to exercise the Licensed
|
||||
Rights, but not otherwise.
|
||||
|
||||
2. Patent and trademark rights are not licensed under this
|
||||
Public License.
|
||||
|
||||
3. To the extent possible, the Licensor waives any right to
|
||||
collect royalties from You for the exercise of the Licensed
|
||||
Rights, whether directly or through a collecting society
|
||||
under any voluntary or waivable statutory or compulsory
|
||||
licensing scheme. In all other cases the Licensor expressly
|
||||
reserves any right to collect such royalties, including when
|
||||
the Licensed Material is used other than for NonCommercial
|
||||
purposes.
|
||||
Section 3 -- License Conditions.
|
||||
|
||||
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
|
||||
|
||||
a. Attribution.
|
||||
|
||||
1. If You Share the Licensed Material (including in modified
|
||||
form), You must:
|
||||
|
||||
a. retain the following if it is supplied by the Licensor
|
||||
with the Licensed Material:
|
||||
|
||||
i. identification of the creator(s) of the Licensed
|
||||
Material and any others designated to receive
|
||||
attribution, in any reasonable manner requested by
|
||||
the Licensor (including by pseudonym if
|
||||
designated);
|
||||
|
||||
ii. a copyright notice;
|
||||
|
||||
iii. a notice that refers to this Public License;
|
||||
|
||||
iv. a notice that refers to the disclaimer of
|
||||
warranties;
|
||||
|
||||
v. a URI or hyperlink to the Licensed Material to the
|
||||
extent reasonably practicable;
|
||||
|
||||
b. indicate if You modified the Licensed Material and
|
||||
retain an indication of any previous modifications; and
|
||||
|
||||
c. indicate the Licensed Material is licensed under this
|
||||
Public License, and include the text of, or the URI or
|
||||
hyperlink to, this Public License.
|
||||
|
||||
2. You may satisfy the conditions in Section 3(a)(1) in any
|
||||
reasonable manner based on the medium, means, and context in
|
||||
which You Share the Licensed Material. For example, it may be
|
||||
reasonable to satisfy the conditions by providing a URI or
|
||||
hyperlink to a resource that includes the required
|
||||
information.
|
||||
3. If requested by the Licensor, You must remove any of the
|
||||
information required by Section 3(a)(1)(A) to the extent
|
||||
reasonably practicable.
|
||||
b. ShareAlike.
|
||||
|
||||
In addition to the conditions in Section 3(a), if You Share
|
||||
Adapted Material You produce, the following conditions also apply.
|
||||
|
||||
1. The Adapter's License You apply must be a Creative Commons
|
||||
license with the same License Elements, this version or
|
||||
later, or a BY-NC-SA Compatible License.
|
||||
|
||||
2. You must include the text of, or the URI or hyperlink to, the
|
||||
Adapter's License You apply. You may satisfy this condition
|
||||
in any reasonable manner based on the medium, means, and
|
||||
context in which You Share Adapted Material.
|
||||
|
||||
3. You may not offer or impose any additional or different terms
|
||||
or conditions on, or apply any Effective Technological
|
||||
Measures to, Adapted Material that restrict exercise of the
|
||||
rights granted under the Adapter's License You apply.
|
||||
Section 4 -- Sui Generis Database Rights.
|
||||
|
||||
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
|
||||
|
||||
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only;
|
||||
|
||||
b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
|
||||
|
||||
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
|
||||
|
||||
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
|
||||
|
||||
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
||||
|
||||
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
||||
|
||||
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
||||
|
||||
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
|
||||
|
||||
Section 6 -- Term and Termination.
|
||||
|
||||
a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
|
||||
|
||||
b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
|
||||
|
||||
1. automatically as of the date the violation is cured, provided
|
||||
it is cured within 30 days of Your discovery of the
|
||||
violation; or
|
||||
|
||||
2. upon express reinstatement by the Licensor.
|
||||
|
||||
For the avoidance of doubt, this Section 6(b) does not affect any
|
||||
right the Licensor may have to seek remedies for Your violations
|
||||
of this Public License.
|
||||
c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
|
||||
|
||||
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
|
||||
|
||||
Section 7 -- Other Terms and Conditions.
|
||||
|
||||
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
|
||||
|
||||
b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
|
||||
|
||||
Section 8 -- Interpretation.
|
||||
|
||||
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
|
||||
|
||||
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
|
||||
|
||||
c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
|
||||
|
||||
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
|
||||
|
||||
Creative Commons may be contacted at creativecommons.org.
|
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2020 Ruslan Pyrch
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -1,23 +0,0 @@
|
|||
The MIT License
|
||||
|
||||
Copyright (C) 2006 Alan McGovern
|
||||
Copyright (C) 2007 Ben Motmans
|
||||
Copyright (C) 2014 Lucas Ontivero
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
|
@ -1,34 +0,0 @@
|
|||
# NCSA Open Source License
|
||||
|
||||
Copyright (c) 2023 Stay in Tarkov. All rights reserved.
|
||||
|
||||
Developed by:
|
||||
* Paulov-t - Original Stay In Tarkov (SIT) Code
|
||||
* Stay in Tarkov team
|
||||
* SPT-AKI Dev Team - SPT-AKI Libraries (credits given through-out code files)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
with the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimers.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimers in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the names of Paulov-t, Merijn Hendriks, SPT-AKI, nor the names of
|
||||
its contributors may be used to endorse or promote products derived from
|
||||
this Software without specific prior written permission.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
|
||||
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS WITH THE SOFTWARE.
|
|
@ -1,28 +0,0 @@
|
|||
[General]
|
||||
gameName=spt
|
||||
modid=0
|
||||
version=d2024.12.31.0
|
||||
newestVersion=
|
||||
category="1,2"
|
||||
nexusFileStatus=1
|
||||
installationFile=Fika.Release.1.1.2.0.zip
|
||||
repository=
|
||||
ignoredVersion=
|
||||
comments=
|
||||
notes=
|
||||
nexusDescription=
|
||||
url=
|
||||
hasCustomURL=false
|
||||
lastNexusQuery=
|
||||
lastNexusUpdate=
|
||||
nexusLastModified=2024-12-16T05:07:23Z
|
||||
nexusCategory=0
|
||||
converted=false
|
||||
validated=false
|
||||
color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)
|
||||
tracked=0
|
||||
|
||||
[installedFiles]
|
||||
1\modid=0
|
||||
1\fileid=0
|
||||
size=1
|
|
@ -1,28 +0,0 @@
|
|||
[General]
|
||||
gameName=spt
|
||||
modid=0
|
||||
version=d2024.12.31.0
|
||||
newestVersion=
|
||||
category="1,2"
|
||||
nexusFileStatus=1
|
||||
installationFile=fika-server.zip
|
||||
repository=
|
||||
ignoredVersion=
|
||||
comments=
|
||||
notes=
|
||||
nexusDescription=
|
||||
url=
|
||||
hasCustomURL=false
|
||||
lastNexusQuery=
|
||||
lastNexusUpdate=
|
||||
nexusLastModified=2024-12-16T05:07:35Z
|
||||
nexusCategory=0
|
||||
converted=false
|
||||
validated=false
|
||||
color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)
|
||||
tracked=0
|
||||
|
||||
[installedFiles]
|
||||
1\modid=0
|
||||
1\fileid=0
|
||||
size=1
|
|
@ -1,437 +0,0 @@
|
|||
Attribution-NonCommercial-ShareAlike 4.0 International
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
||||
does not provide legal services or legal advice. Distribution of
|
||||
Creative Commons public licenses does not create a lawyer-client or
|
||||
other relationship. Creative Commons makes its licenses and related
|
||||
information available on an "as-is" basis. Creative Commons gives no
|
||||
warranties regarding its licenses, any material licensed under their
|
||||
terms and conditions, or any related information. Creative Commons
|
||||
disclaims all liability for damages resulting from their use to the
|
||||
fullest extent possible.
|
||||
|
||||
Using Creative Commons Public Licenses
|
||||
|
||||
Creative Commons public licenses provide a standard set of terms and
|
||||
conditions that creators and other rights holders may use to share
|
||||
original works of authorship and other material subject to copyright
|
||||
and certain other rights specified in the public license below. The
|
||||
following considerations are for informational purposes only, are not
|
||||
exhaustive, and do not form part of our licenses.
|
||||
|
||||
Considerations for licensors: Our public licenses are
|
||||
intended for use by those authorized to give the public
|
||||
permission to use material in ways otherwise restricted by
|
||||
copyright and certain other rights. Our licenses are
|
||||
irrevocable. Licensors should read and understand the terms
|
||||
and conditions of the license they choose before applying it.
|
||||
Licensors should also secure all rights necessary before
|
||||
applying our licenses so that the public can reuse the
|
||||
material as expected. Licensors should clearly mark any
|
||||
material not subject to the license. This includes other CC-
|
||||
licensed material, or material used under an exception or
|
||||
limitation to copyright. More considerations for licensors:
|
||||
wiki.creativecommons.org/Considerations_for_licensors
|
||||
|
||||
Considerations for the public: By using one of our public
|
||||
licenses, a licensor grants the public permission to use the
|
||||
licensed material under specified terms and conditions. If
|
||||
the licensor's permission is not necessary for any reason--for
|
||||
example, because of any applicable exception or limitation to
|
||||
copyright--then that use is not regulated by the license. Our
|
||||
licenses grant only permissions under copyright and certain
|
||||
other rights that a licensor has authority to grant. Use of
|
||||
the licensed material may still be restricted for other
|
||||
reasons, including because others have copyright or other
|
||||
rights in the material. A licensor may make special requests,
|
||||
such as asking that all changes be marked or described.
|
||||
Although not required by our licenses, you are encouraged to
|
||||
respect those requests where reasonable. More considerations
|
||||
for the public:
|
||||
wiki.creativecommons.org/Considerations_for_licensees
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
|
||||
Public License
|
||||
|
||||
By exercising the Licensed Rights (defined below), You accept and agree
|
||||
to be bound by the terms and conditions of this Creative Commons
|
||||
Attribution-NonCommercial-ShareAlike 4.0 International Public License
|
||||
("Public License"). To the extent this Public License may be
|
||||
interpreted as a contract, You are granted the Licensed Rights in
|
||||
consideration of Your acceptance of these terms and conditions, and the
|
||||
Licensor grants You such rights in consideration of benefits the
|
||||
Licensor receives from making the Licensed Material available under
|
||||
these terms and conditions.
|
||||
|
||||
|
||||
Section 1 -- Definitions.
|
||||
|
||||
a. Adapted Material means material subject to Copyright and Similar
|
||||
Rights that is derived from or based upon the Licensed Material
|
||||
and in which the Licensed Material is translated, altered,
|
||||
arranged, transformed, or otherwise modified in a manner requiring
|
||||
permission under the Copyright and Similar Rights held by the
|
||||
Licensor. For purposes of this Public License, where the Licensed
|
||||
Material is a musical work, performance, or sound recording,
|
||||
Adapted Material is always produced where the Licensed Material is
|
||||
synched in timed relation with a moving image.
|
||||
|
||||
b. Adapter's License means the license You apply to Your Copyright
|
||||
and Similar Rights in Your contributions to Adapted Material in
|
||||
accordance with the terms and conditions of this Public License.
|
||||
|
||||
c. BY-NC-SA Compatible License means a license listed at
|
||||
creativecommons.org/compatiblelicenses, approved by Creative
|
||||
Commons as essentially the equivalent of this Public License.
|
||||
|
||||
d. Copyright and Similar Rights means copyright and/or similar rights
|
||||
closely related to copyright including, without limitation,
|
||||
performance, broadcast, sound recording, and Sui Generis Database
|
||||
Rights, without regard to how the rights are labeled or
|
||||
categorized. For purposes of this Public License, the rights
|
||||
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||
Rights.
|
||||
|
||||
e. Effective Technological Measures means those measures that, in the
|
||||
absence of proper authority, may not be circumvented under laws
|
||||
fulfilling obligations under Article 11 of the WIPO Copyright
|
||||
Treaty adopted on December 20, 1996, and/or similar international
|
||||
agreements.
|
||||
|
||||
f. Exceptions and Limitations means fair use, fair dealing, and/or
|
||||
any other exception or limitation to Copyright and Similar Rights
|
||||
that applies to Your use of the Licensed Material.
|
||||
|
||||
g. License Elements means the license attributes listed in the name
|
||||
of a Creative Commons Public License. The License Elements of this
|
||||
Public License are Attribution, NonCommercial, and ShareAlike.
|
||||
|
||||
h. Licensed Material means the artistic or literary work, database,
|
||||
or other material to which the Licensor applied this Public
|
||||
License.
|
||||
|
||||
i. Licensed Rights means the rights granted to You subject to the
|
||||
terms and conditions of this Public License, which are limited to
|
||||
all Copyright and Similar Rights that apply to Your use of the
|
||||
Licensed Material and that the Licensor has authority to license.
|
||||
|
||||
j. Licensor means the individual(s) or entity(ies) granting rights
|
||||
under this Public License.
|
||||
|
||||
k. NonCommercial means not primarily intended for or directed towards
|
||||
commercial advantage or monetary compensation. For purposes of
|
||||
this Public License, the exchange of the Licensed Material for
|
||||
other material subject to Copyright and Similar Rights by digital
|
||||
file-sharing or similar means is NonCommercial provided there is
|
||||
no payment of monetary compensation in connection with the
|
||||
exchange.
|
||||
|
||||
l. Share means to provide material to the public by any means or
|
||||
process that requires permission under the Licensed Rights, such
|
||||
as reproduction, public display, public performance, distribution,
|
||||
dissemination, communication, or importation, and to make material
|
||||
available to the public including in ways that members of the
|
||||
public may access the material from a place and at a time
|
||||
individually chosen by them.
|
||||
|
||||
m. Sui Generis Database Rights means rights other than copyright
|
||||
resulting from Directive 96/9/EC of the European Parliament and of
|
||||
the Council of 11 March 1996 on the legal protection of databases,
|
||||
as amended and/or succeeded, as well as other essentially
|
||||
equivalent rights anywhere in the world.
|
||||
|
||||
n. You means the individual or entity exercising the Licensed Rights
|
||||
under this Public License. Your has a corresponding meaning.
|
||||
|
||||
|
||||
Section 2 -- Scope.
|
||||
|
||||
a. License grant.
|
||||
|
||||
1. Subject to the terms and conditions of this Public License,
|
||||
the Licensor hereby grants You a worldwide, royalty-free,
|
||||
non-sublicensable, non-exclusive, irrevocable license to
|
||||
exercise the Licensed Rights in the Licensed Material to:
|
||||
|
||||
a. reproduce and Share the Licensed Material, in whole or
|
||||
in part, for NonCommercial purposes only; and
|
||||
|
||||
b. produce, reproduce, and Share Adapted Material for
|
||||
NonCommercial purposes only.
|
||||
|
||||
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||
Exceptions and Limitations apply to Your use, this Public
|
||||
License does not apply, and You do not need to comply with
|
||||
its terms and conditions.
|
||||
|
||||
3. Term. The term of this Public License is specified in Section
|
||||
6(a).
|
||||
|
||||
4. Media and formats; technical modifications allowed. The
|
||||
Licensor authorizes You to exercise the Licensed Rights in
|
||||
all media and formats whether now known or hereafter created,
|
||||
and to make technical modifications necessary to do so. The
|
||||
Licensor waives and/or agrees not to assert any right or
|
||||
authority to forbid You from making technical modifications
|
||||
necessary to exercise the Licensed Rights, including
|
||||
technical modifications necessary to circumvent Effective
|
||||
Technological Measures. For purposes of this Public License,
|
||||
simply making modifications authorized by this Section 2(a)
|
||||
(4) never produces Adapted Material.
|
||||
|
||||
5. Downstream recipients.
|
||||
|
||||
a. Offer from the Licensor -- Licensed Material. Every
|
||||
recipient of the Licensed Material automatically
|
||||
receives an offer from the Licensor to exercise the
|
||||
Licensed Rights under the terms and conditions of this
|
||||
Public License.
|
||||
|
||||
b. Additional offer from the Licensor -- Adapted Material.
|
||||
Every recipient of Adapted Material from You
|
||||
automatically receives an offer from the Licensor to
|
||||
exercise the Licensed Rights in the Adapted Material
|
||||
under the conditions of the Adapter's License You apply.
|
||||
|
||||
c. No downstream restrictions. You may not offer or impose
|
||||
any additional or different terms or conditions on, or
|
||||
apply any Effective Technological Measures to, the
|
||||
Licensed Material if doing so restricts exercise of the
|
||||
Licensed Rights by any recipient of the Licensed
|
||||
Material.
|
||||
|
||||
6. No endorsement. Nothing in this Public License constitutes or
|
||||
may be construed as permission to assert or imply that You
|
||||
are, or that Your use of the Licensed Material is, connected
|
||||
with, or sponsored, endorsed, or granted official status by,
|
||||
the Licensor or others designated to receive attribution as
|
||||
provided in Section 3(a)(1)(A)(i).
|
||||
|
||||
b. Other rights.
|
||||
|
||||
1. Moral rights, such as the right of integrity, are not
|
||||
licensed under this Public License, nor are publicity,
|
||||
privacy, and/or other similar personality rights; however, to
|
||||
the extent possible, the Licensor waives and/or agrees not to
|
||||
assert any such rights held by the Licensor to the limited
|
||||
extent necessary to allow You to exercise the Licensed
|
||||
Rights, but not otherwise.
|
||||
|
||||
2. Patent and trademark rights are not licensed under this
|
||||
Public License.
|
||||
|
||||
3. To the extent possible, the Licensor waives any right to
|
||||
collect royalties from You for the exercise of the Licensed
|
||||
Rights, whether directly or through a collecting society
|
||||
under any voluntary or waivable statutory or compulsory
|
||||
licensing scheme. In all other cases the Licensor expressly
|
||||
reserves any right to collect such royalties, including when
|
||||
the Licensed Material is used other than for NonCommercial
|
||||
purposes.
|
||||
|
||||
|
||||
Section 3 -- License Conditions.
|
||||
|
||||
Your exercise of the Licensed Rights is expressly made subject to the
|
||||
following conditions.
|
||||
|
||||
a. Attribution.
|
||||
|
||||
1. If You Share the Licensed Material (including in modified
|
||||
form), You must:
|
||||
|
||||
a. retain the following if it is supplied by the Licensor
|
||||
with the Licensed Material:
|
||||
|
||||
i. identification of the creator(s) of the Licensed
|
||||
Material and any others designated to receive
|
||||
attribution, in any reasonable manner requested by
|
||||
the Licensor (including by pseudonym if
|
||||
designated);
|
||||
|
||||
ii. a copyright notice;
|
||||
|
||||
iii. a notice that refers to this Public License;
|
||||
|
||||
iv. a notice that refers to the disclaimer of
|
||||
warranties;
|
||||
|
||||
v. a URI or hyperlink to the Licensed Material to the
|
||||
extent reasonably practicable;
|
||||
|
||||
b. indicate if You modified the Licensed Material and
|
||||
retain an indication of any previous modifications; and
|
||||
|
||||
c. indicate the Licensed Material is licensed under this
|
||||
Public License, and include the text of, or the URI or
|
||||
hyperlink to, this Public License.
|
||||
|
||||
2. You may satisfy the conditions in Section 3(a)(1) in any
|
||||
reasonable manner based on the medium, means, and context in
|
||||
which You Share the Licensed Material. For example, it may be
|
||||
reasonable to satisfy the conditions by providing a URI or
|
||||
hyperlink to a resource that includes the required
|
||||
information.
|
||||
3. If requested by the Licensor, You must remove any of the
|
||||
information required by Section 3(a)(1)(A) to the extent
|
||||
reasonably practicable.
|
||||
|
||||
b. ShareAlike.
|
||||
|
||||
In addition to the conditions in Section 3(a), if You Share
|
||||
Adapted Material You produce, the following conditions also apply.
|
||||
|
||||
1. The Adapter's License You apply must be a Creative Commons
|
||||
license with the same License Elements, this version or
|
||||
later, or a BY-NC-SA Compatible License.
|
||||
|
||||
2. You must include the text of, or the URI or hyperlink to, the
|
||||
Adapter's License You apply. You may satisfy this condition
|
||||
in any reasonable manner based on the medium, means, and
|
||||
context in which You Share Adapted Material.
|
||||
|
||||
3. You may not offer or impose any additional or different terms
|
||||
or conditions on, or apply any Effective Technological
|
||||
Measures to, Adapted Material that restrict exercise of the
|
||||
rights granted under the Adapter's License You apply.
|
||||
|
||||
|
||||
Section 4 -- Sui Generis Database Rights.
|
||||
|
||||
Where the Licensed Rights include Sui Generis Database Rights that
|
||||
apply to Your use of the Licensed Material:
|
||||
|
||||
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
||||
to extract, reuse, reproduce, and Share all or a substantial
|
||||
portion of the contents of the database for NonCommercial purposes
|
||||
only;
|
||||
|
||||
b. if You include all or a substantial portion of the database
|
||||
contents in a database in which You have Sui Generis Database
|
||||
Rights, then the database in which You have Sui Generis Database
|
||||
Rights (but not its individual contents) is Adapted Material,
|
||||
including for purposes of Section 3(b); and
|
||||
|
||||
c. You must comply with the conditions in Section 3(a) if You Share
|
||||
all or a substantial portion of the contents of the database.
|
||||
|
||||
For the avoidance of doubt, this Section 4 supplements and does not
|
||||
replace Your obligations under this Public License where the Licensed
|
||||
Rights include other Copyright and Similar Rights.
|
||||
|
||||
|
||||
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
||||
|
||||
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
||||
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
||||
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
||||
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
||||
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
||||
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
||||
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
||||
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
||||
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
||||
|
||||
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
||||
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
||||
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
||||
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
||||
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
||||
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
||||
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
||||
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
||||
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
||||
|
||||
c. The disclaimer of warranties and limitation of liability provided
|
||||
above shall be interpreted in a manner that, to the extent
|
||||
possible, most closely approximates an absolute disclaimer and
|
||||
waiver of all liability.
|
||||
|
||||
|
||||
Section 6 -- Term and Termination.
|
||||
|
||||
a. This Public License applies for the term of the Copyright and
|
||||
Similar Rights licensed here. However, if You fail to comply with
|
||||
this Public License, then Your rights under this Public License
|
||||
terminate automatically.
|
||||
|
||||
b. Where Your right to use the Licensed Material has terminated under
|
||||
Section 6(a), it reinstates:
|
||||
|
||||
1. automatically as of the date the violation is cured, provided
|
||||
it is cured within 30 days of Your discovery of the
|
||||
violation; or
|
||||
|
||||
2. upon express reinstatement by the Licensor.
|
||||
|
||||
For the avoidance of doubt, this Section 6(b) does not affect any
|
||||
right the Licensor may have to seek remedies for Your violations
|
||||
of this Public License.
|
||||
|
||||
c. For the avoidance of doubt, the Licensor may also offer the
|
||||
Licensed Material under separate terms or conditions or stop
|
||||
distributing the Licensed Material at any time; however, doing so
|
||||
will not terminate this Public License.
|
||||
|
||||
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
||||
License.
|
||||
|
||||
|
||||
Section 7 -- Other Terms and Conditions.
|
||||
|
||||
a. The Licensor shall not be bound by any additional or different
|
||||
terms or conditions communicated by You unless expressly agreed.
|
||||
|
||||
b. Any arrangements, understandings, or agreements regarding the
|
||||
Licensed Material not stated herein are separate from and
|
||||
independent of the terms and conditions of this Public License.
|
||||
|
||||
|
||||
Section 8 -- Interpretation.
|
||||
|
||||
a. For the avoidance of doubt, this Public License does not, and
|
||||
shall not be interpreted to, reduce, limit, restrict, or impose
|
||||
conditions on any use of the Licensed Material that could lawfully
|
||||
be made without permission under this Public License.
|
||||
|
||||
b. To the extent possible, if any provision of this Public License is
|
||||
deemed unenforceable, it shall be automatically reformed to the
|
||||
minimum extent necessary to make it enforceable. If the provision
|
||||
cannot be reformed, it shall be severed from this Public License
|
||||
without affecting the enforceability of the remaining terms and
|
||||
conditions.
|
||||
|
||||
c. No term or condition of this Public License will be waived and no
|
||||
failure to comply consented to unless expressly agreed to by the
|
||||
Licensor.
|
||||
|
||||
d. Nothing in this Public License constitutes or may be interpreted
|
||||
as a limitation upon, or waiver of, any privileges and immunities
|
||||
that apply to the Licensor or You, including from the legal
|
||||
processes of any jurisdiction or authority.
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons is not a party to its public
|
||||
licenses. Notwithstanding, Creative Commons may elect to apply one of
|
||||
its public licenses to material it publishes and in those instances
|
||||
will be considered the “Licensor.” The text of the Creative Commons
|
||||
public licenses is dedicated to the public domain under the CC0 Public
|
||||
Domain Dedication. Except for the limited purpose of indicating that
|
||||
material is shared under a Creative Commons public license or as
|
||||
otherwise permitted by the Creative Commons policies published at
|
||||
creativecommons.org/policies, Creative Commons does not authorize the
|
||||
use of the trademark "Creative Commons" or any other trademark or logo
|
||||
of Creative Commons without its prior written consent including,
|
||||
without limitation, in connection with any unauthorized modifications
|
||||
to any of its public licenses or any other arrangements,
|
||||
understandings, or agreements concerning use of licensed material. For
|
||||
the avoidance of doubt, this paragraph does not form part of the
|
||||
public licenses.
|
||||
|
||||
Creative Commons may be contacted at creativecommons.org.
|
|
@ -1,35 +0,0 @@
|
|||
# Fika - SPT.Server Mod
|
||||
|
||||
[![Discord](https://img.shields.io/discord/1202292159366037545?style=plastic&logo=discord&logoColor=FFFFFF&label=Fika%20Discord
|
||||
)](https://discord.gg/project-fika)
|
||||
[![Downloads](https://img.shields.io/github/downloads/project-fika/Fika-Server/total?style=plastic&logo=github)](https://github.com/project-fika/Fika-Server/releases/latest)
|
||||
![Size](https://img.shields.io/github/languages/code-size/project-fika/Fika-Server?style=plastic&logo=github)
|
||||
![Issues](https://img.shields.io/github/issues/project-fika/Fika-Server?style=plastic&logo=github)
|
||||
[![License](https://img.shields.io/badge/CC--BY--NC--SA--4.0-blue?style=plastic&logo=creativecommons&logoColor=FFFFFF&label=License)](LICENSE)
|
||||
|
||||
Server-side changes to make multiplayer work.
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Node 20.x](https://nodejs.org/en/download)
|
||||
|
||||
## Build
|
||||
|
||||
| **Tool** | **Action** |
|
||||
| ---------- | ------------------------------ |
|
||||
| Powershell | `npm run build` |
|
||||
| VSCode | `Terminal > Run Build Task...` |
|
||||
|
||||
## Licenses
|
||||
|
||||
[<img src="https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by-nc-sa.svg" alt="cc by-nc-sa" width="180" height="63" align="right">](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.en)
|
||||
|
||||
This project is licensed under [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.en).
|
||||
|
||||
<br />
|
||||
|
||||
### Dependencies
|
||||
|
||||
| **Project** | **License** |
|
||||
| ----------- | ----------------------------------------------------------------------------- |
|
||||
| SPT.Server | [NCSA](https://dev.sp-tarkov.com/SPT/Server/src/branch/master/LICENSE.md) |
|
|
@ -1,45 +0,0 @@
|
|||
{
|
||||
"client": {
|
||||
"useBtr": true,
|
||||
"friendlyFire": true,
|
||||
"dynamicVExfils": false,
|
||||
"allowFreeCam": false,
|
||||
"allowSpectateFreeCam": false,
|
||||
"allowItemSending": true,
|
||||
"blacklistedItems": [],
|
||||
"forceSaveOnDeath": false,
|
||||
"mods": {
|
||||
"required": [],
|
||||
"optional": []
|
||||
},
|
||||
"useInertia": true,
|
||||
"sharedQuestProgression": false,
|
||||
"canEditRaidSettings": true,
|
||||
"enableTransits": false
|
||||
},
|
||||
"server": {
|
||||
"giftedItemsLoseFIR": true,
|
||||
"launcherListAllProfiles": false,
|
||||
"sessionTimeout": 5,
|
||||
"showDevProfile": false,
|
||||
"showNonStandardProfile": false
|
||||
},
|
||||
"natPunchServer": {
|
||||
"enable": false,
|
||||
"port": 6790,
|
||||
"natIntroduceAmount": 1
|
||||
},
|
||||
"dedicated": {
|
||||
"profiles": {
|
||||
"amount": 2
|
||||
},
|
||||
"scripts": {
|
||||
"generate": true,
|
||||
"forceIp": ""
|
||||
}
|
||||
},
|
||||
"background": {
|
||||
"enable": true,
|
||||
"easteregg": false
|
||||
}
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "欢迎使用 Fika, 供SPT的离线合作模组",
|
||||
"NDA free warning": "要创建/加入游戏,您必须选择一个地图,然后转到最后一个页面使用服务器浏览器。",
|
||||
"F_Client_ReceivedSharedQuestProgress": "从 {0} 接收到任务 {1} 的共享任务进度",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} 捡到了 {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} 为 {1} 放置了一个物品",
|
||||
"F_Client_ReceivePing": "从 {0} 接收到一个标点",
|
||||
"F_Client_ReceivePingObject": "{0} 标点 {1}",
|
||||
"F_Client_RandomSpawnPoints": "使用随机出生点",
|
||||
"F_Client_MetabolismDisabled": "代谢功能已禁用",
|
||||
"F_Client_YouAreMIA": "您在行动中失踪...",
|
||||
"F_Client_KilledBoss": "{0} 杀死了BOSS {1}",
|
||||
"F_Client_GroupMemberSpawned": "小组成员 {0} 已重生",
|
||||
"F_Client_GroupMemberExtracted": "小组成员 {0} 已撤离",
|
||||
"F_Client_GroupMemberDiedFrom": "小组成员 {0} 已死于 {1}",
|
||||
"F_Client_GroupMemberDied": "小组成员 {0} 已死亡",
|
||||
"F_Client_ConnectedToServer": "连接到端口 {0} 上的服务器",
|
||||
"F_Client_ServerStarted": "服务器启动于端口 {0}",
|
||||
"F_Client_CouldNotFindValidIP": "无法找到有效的本地IP!",
|
||||
"F_Client_ReconnectRequested": "重新连接请求已发送, 游戏可能会出现延迟卡顿...",
|
||||
"F_Client_PeerConnected": "连接到端口 {0} 上的服务器",
|
||||
"F_Client_PeerDisconnected": "用户断开连接 {0},信息: {1}",
|
||||
"F_Client_ConnectingToSession": "正在连接...",
|
||||
"F_Client_ItemIsBlacklisted": "要发送物品:{0} 在黑名单中",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} 包含被在发送黑名单的 {1}",
|
||||
"F_Client_SavedProfile": "个人资料 {0} 已保存到 {1}",
|
||||
"F_Client_UnknownError": "出现了一个未知异常,请检查您的日志文件",
|
||||
"F_Client_HostCannotExtract": "在所有客户端断开连接之前,您不能退出游戏",
|
||||
"F_Client_HostCannotExtractMenu": "您不能现在断开连接,仍然有连接中的客户端!剩余: {0}",
|
||||
"F_Client_Wait5Seconds": "请在最后一个客户端断开后至少5秒才退出",
|
||||
"F_Client_StartingRaid": "正在开始行动,请稍候...",
|
||||
"F_Client_LostConnection": "与主机失去连接。",
|
||||
"F_Client_StartingRaidOnDedicated": "正在使用专用客户端开始行动... 请稍等",
|
||||
"F_SendItem_Header": "选择一个玩家",
|
||||
"F_SendItem_SendButton": "发送",
|
||||
"F_MMUI_RaidsHeader": "行动",
|
||||
"F_MMUI_HostRaidButton": "主持一个行动",
|
||||
"F_MMUI_JoinButton": "加入",
|
||||
"F_MMUI_SelectAmountHeader": "选择一个数量",
|
||||
"F_MMUI_SessionSettingsHeader": "会话设置",
|
||||
"F_MMUI_SelectAmountDescription": "将有多少人(包括您) 在玩?",
|
||||
"F_MMUI_UseDedicatedHost": "使用专用主机",
|
||||
"F_MMUI_StartButton": "开始",
|
||||
"F_MMUI_LoadingScreenHeader": "加载中",
|
||||
"F_MMUI_LoadingScreenDescription": "请稍候,正在初始化... 这可能需要一些时间。",
|
||||
"F_MMUI_JoinAsSpectator": "观战",
|
||||
"F_UI_StartRaid": "开始战局",
|
||||
"F_UI_StartRaidDescription": "启动战局\n后续玩家将无法进入",
|
||||
"F_UI_CannotJoinRaidOtherMap": "不可以加入另一个地图的行动\n行动地图: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "不可以加入另一个时间的行动.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "你不能以PMC身份加入SCAV行动",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "你不能以SCAV身份加入PMC行动",
|
||||
"F_UI_HostStillLoading": "主机仍在加载中。",
|
||||
"F_UI_RaidInProgress": "游戏已经开始了!",
|
||||
"F_UI_ReJoinRaid": "点击以重新加入",
|
||||
"F_UI_CannotReJoinRaidDied": "不能重新加入你已经阵亡的行动",
|
||||
"F_UI_JoinRaid": "点击以加入行动",
|
||||
"F_UI_ErrorConnecting": "连接错误",
|
||||
"F_UI_UnableToConnect": "无法连接到服务器。请确保所有端口已打开,所有设置配置正确。",
|
||||
"F_UI_FikaPingerFailStart": "无法启动 FikaPinger !",
|
||||
"F_UI_RefreshRaids": "刷新进行中的行动列表。",
|
||||
"F_UI_DedicatedError": "FIKA专用服务器错误",
|
||||
"F_UI_ErrorForceIPHeader": "强制使用IP错误",
|
||||
"F_UI_ErrorForceIP": "{0} 不是一个有效的可以连接的IP地址!请检查“强制IP”设置",
|
||||
"F_UI_ErrorBindIPHeader": "错误绑定",
|
||||
"F_UI_ErrorBindIP": "{0} 不是一个有效的绑定IP地址!请检查“强制IP”设置",
|
||||
"F_UI_NoDedicatedClients": "现在没有可用的专用客户端。",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "正在等待主机完成战局初始化",
|
||||
"F_UI_WaitForOtherPlayers": "正在等待其他玩家完成加载",
|
||||
"F_UI_RetrieveSpawnInfo": "正在从服务器获取生成信息...",
|
||||
"F_UI_RetrieveLoot": "正在从服务器获取战利品信息...",
|
||||
"F_UI_WaitForHostInit": "正在等待主机初始化战局...",
|
||||
"F_UI_Reconnecting": "重新连接中...",
|
||||
"F_UI_RetrieveExfilData": "正在从服务器获取撤离点数据...",
|
||||
"F_UI_RetrieveInteractables": "正在从服务器获取可交互对象...",
|
||||
"F_UI_InitCoopGame": "正在初始化合作游戏...",
|
||||
"F_UI_AllPlayersJoined": "所有玩家已加入,正在开始游戏...",
|
||||
"F_UI_WaitingForConnect": "正在等待客户端连接至服务端...如无通知则连接失败",
|
||||
"F_UI_ErrorConnectingToRaid": "无法连接至战局服务器。请确保端口已被转发和/或UPnP已启用并支持。",
|
||||
"F_UI_FinishingRaidInit": "正在完成战局初始化...",
|
||||
"F_UI_SyncThrowables": "正在同步投掷物...",
|
||||
"F_UI_SyncInteractables": "正在同步可交互物件...",
|
||||
"F_UI_SyncLampStates": "正在同步灯具状态...",
|
||||
"F_UI_SyncWindows": "同步窗具中...",
|
||||
"F_UI_ReceiveOwnPlayer": "正在接收自己的玩家数据...",
|
||||
"F_UI_FinishReconnect": "正在完成重新连接...",
|
||||
"F_Client_FreeCamInputDisabled": "自由视角输入已禁用",
|
||||
"F_Client_FreeCamInputEnabled": "自由视角输入已启用",
|
||||
"F_UI_WaitForPlayer": "正在等待 {0} 位玩家",
|
||||
"F_UI_WaitForPlayers": "正在等待 {0} 位玩家",
|
||||
"F_UI_ToSLong": "欢迎来到Fika!\n\nFika 是一个SPT的合作模组,允许您与朋友一起玩。 如果您为此付了钱,说明你被骗了,Fika是免费的。 您也不允许建立付费或需要捐赠的公共服务器。\n\n等待此消息自动消失来接受我们的服务条款。\n\n您可以在这里加入我们的Discord: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "欢迎来到Fika!\n\nFika 是一个SPT的合作模组,允许您与朋友一起玩。 如果您为此付了钱,说明你被骗了,Fika是免费的。 您也不允许建立付费或需要捐赠的公共服务器。\n\n您可以在这里加入我们的Discord: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "在此模式下,您可以与好友一起游玩在线合作游戏,而无需担心遇见其他玩家。\\n合作模式中的所有游戏机制(天气、AI、Boss 等)与在线机制相同。\\n仅主机设置才会生效。",
|
||||
"F_UI_CoopGameMode": "Fika联机 游戏模式",
|
||||
"F_UI_CoopRaidSettings": "Fika联机 战局设置",
|
||||
"F_UI_FikaAlwaysCoop": "Fika 永远是 PVE",
|
||||
"F_UI_UpnpFailed": "UPnP 映射失败。请确保所选端口尚未打开!\\n如果您正在使用 VPN,请禁用 UPnP。",
|
||||
"F_UI_InitWeather": "正在生成天气...",
|
||||
"F_Notification_RaidStarted": "{0} 开始了 {1} 行动",
|
||||
"F_Notification_ItemReceived": "你收到了来自玩家 {1} 发送的 {0}",
|
||||
"F_Notification_RaidSettingsDisabled": "服务器主机禁用了战局设置",
|
||||
"F_UI_ExtractMessage": "按 {0} 撤离",
|
||||
"F_UI_DownloadProfile": "下载档案",
|
||||
"F_BepInEx_H_Advanced": "高级",
|
||||
"F_BepInEx_H_Coop": "多人合作",
|
||||
"F_BepInEx_H_Coop_NamePlates": "多人合作 | 浮动昵称",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "多人合作 | 共享任务",
|
||||
"F_BepInEx_H_Coop_Pinging": "多人合作 | 标点",
|
||||
"F_BepInEx_H_Coop_Debug": "多人合作 | 调试",
|
||||
"F_BepInEx_H_Performance": "性能",
|
||||
"F_BepInEx_H_PerformanceBots": "性能 | 最大人机数量",
|
||||
"F_BepInEx_H_Network": "网络",
|
||||
"F_BepInEx_H_Gameplay": "游戏模式",
|
||||
"F_BepInEx_OfficialVersion_T": "官方版本",
|
||||
"F_BepInEx_OfficialVersion_D": "显示官方版本而不是Fika版本。",
|
||||
"F_BepInEx_ShowFeed_T": "显示战局信息",
|
||||
"F_BepInEx_ShowFeed_D": "启用玩家死亡、撤离、击杀BOSS时的自定义通知",
|
||||
"F_BepInEx_AutoExtract_T": "自动撤离",
|
||||
"F_BepInEx_AutoExtract_D": "在撤离倒数结束后自动撤离。如果你是主机,这将仅仅在没有客户端连接时有效。",
|
||||
"F_BepInEx_ShowExtractMessage_T": "显示撤离消息",
|
||||
"F_BepInEx_ShowExtractMessage_D": "是否在死亡/撤离后显示提示消息",
|
||||
"F_BepInEx_ExtractKey_T": "撤离键",
|
||||
"F_BepInEx_ExtractKey_D": "用于撤离的按键",
|
||||
"F_BepInEx_EnableChat_T": "启用聊天",
|
||||
"F_BepInEx_EnableChat_D": "切换启用游戏中的聊天。无法在战局中更改。",
|
||||
"F_BepInEx_ChatKey_T": "聊天键",
|
||||
"F_BepInEx_ChatKey_D": "打开聊天窗口的按键。",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "显示在线玩家",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "是否在主界面显示在线玩家列表",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "在线玩家界面尺寸",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "显示在线玩家的窗口的大小。仅在它不成比例时修改。\n需要刷新主菜单才能生效。",
|
||||
"F_BepInEx_UseNamePlates_T": "显示玩家姓名板",
|
||||
"F_BepInEx_UseNamePlates_D": "名称板是否应该显示在队友上方",
|
||||
"F_BepInEx_HideHealthBar_T": "隐藏生命条",
|
||||
"F_BepInEx_HideHealthBar_D": "完全隐藏生命条。",
|
||||
"F_BepInEx_UsePercent_T": "显示生命百分比而不是生命条",
|
||||
"F_BepInEx_UsePercent_D": "显示生命百分比数字而不是生命条",
|
||||
"F_BepInEx_ShowEffects_T": "显示状态效果",
|
||||
"F_BepInEx_ShowEffects_D": "状态效果是否应该显示在血条下方",
|
||||
"F_BepInEx_ShowFactionIcon_T": "显示玩家阵营图标",
|
||||
"F_BepInEx_ShowFactionIcon_D": "在HP栏旁显示玩家阵营图标。",
|
||||
"F_BepInEx_HideInOptic_T": "在使用高倍镜时隐藏名称板",
|
||||
"F_BepInEx_HideInOptic_D": "使用画中画瞄具瞄准时隐藏姓名牌",
|
||||
"F_BepInEx_OpticUseZoom_T": "高倍瞄具显示姓名牌",
|
||||
"F_BepInEx_OpticUseZoom_D": "在使用高倍瞄具瞄准时是否显示姓名牌",
|
||||
"F_BepInEx_DecOpacPeri_T": "减少姓名牌透明度",
|
||||
"F_BepInEx_DecOpacPeri_D": "在其他玩家没有看向玩家时降低姓名牌透明度",
|
||||
"F_BepInEx_NamePlateScale_T": "姓名牌大小",
|
||||
"F_BepInEx_NamePlateScale_D": "姓名板大小",
|
||||
"F_BepInEx_AdsOpac_T": "ADS透明度",
|
||||
"F_BepInEx_AdsOpac_D": "瞄准时姓名牌的透明度",
|
||||
"F_BepInEx_MaxDistance_T": "最大显示距离",
|
||||
"F_BepInEx_MaxDistance_D": "姓名牌消失的最大距离(在输入值的一半时开始渐隐)",
|
||||
"F_BepInEx_MinOpac_T": "最低透明度",
|
||||
"F_BepInEx_MinOpac_D": "姓名牌显示的最低透明度",
|
||||
"F_BepInEx_MinPlateScale_T": "姓名牌尺寸",
|
||||
"F_BepInEx_MinPlateScale_D": "最小姓名牌尺寸",
|
||||
"F_BepInEx_UseOcclusion_T": "使用遮挡功能",
|
||||
"F_BepInEx_UseOcclusion_D": "使用遮挡后,当玩家不在视野范围内时隐藏名称板",
|
||||
"F_BepInEx_QuestTypes_T": "任务类型",
|
||||
"F_BepInEx_QuestTypes_D": "要接收和发送的任务类型。PlaceBeacon 包含了标记和物品任务",
|
||||
"F_BepInEx_QSNotifications_T": "显示通知",
|
||||
"F_BepInEx_QSNotifications_D": "任务进度共享时是否显示通知",
|
||||
"F_BepInEx_EasyKillConditions_T": "更简单的击杀条件",
|
||||
"F_BepInEx_EasyKillConditions_D": "启用轻松击杀条件。当这个被启动时,任何时候的队友击杀,只要满足所有条件,都能当作是你的击杀。",
|
||||
"F_BepInEx_SharedKillXP_T": "共享击杀经验",
|
||||
"F_BepInEx_SharedKillXP_D": "如果启用,当队友击杀敌人时(Boss除外),你将获得一半经验",
|
||||
"F_BepInEx_SharedBossXP_T": "共享BOSS经验",
|
||||
"F_BepInEx_SharedBossXP_D": "启用后,你会获得队友击杀BOSS的一半经验",
|
||||
"F_BepInEx_PingSystem_T": "标记系统",
|
||||
"F_BepInEx_PingSystem_D": "开关标记系统。启用后可以按下指定按钮来发送标记",
|
||||
"F_BepInEx_PingButton_T": "标记按键",
|
||||
"F_BepInEx_PingButton_D": "用来发送标记的按键",
|
||||
"F_BepInEx_PingColor_T": "标记颜色",
|
||||
"F_BepInEx_PingColor_D": "其他玩家看到你标记显示的颜色",
|
||||
"F_BepInEx_PingSize_T": "标记尺寸",
|
||||
"F_BepInEx_PingSize_D": "调节标记显示的大小",
|
||||
"F_BepInEx_PingTime_T": "标记时间",
|
||||
"F_BepInEx_PingTime_D": "标记会持续显示多久",
|
||||
"F_BepInEx_PingAnimation_T": "显示标记动画",
|
||||
"F_BepInEx_PingAnimation_D": "标记时自动播放手部动画。可能会影响操作",
|
||||
"F_BepInEx_PingOptics_T": "瞄准时显示标记",
|
||||
"F_BepInEx_PingOptics_D": "是否在玩家使用高倍瞄具时显示标记",
|
||||
"F_BepInEx_PingOpticZoom_T": "高倍瞄具显示标记",
|
||||
"F_BepInEx_PingOpticZoom_D": "是否在玩家使用画中画瞄具时显示标记",
|
||||
"F_BepInEx_PingScaleDistance_T": "标记距离缩放",
|
||||
"F_BepInEx_PingScaleDistance_D": "标记的尺寸是否受到距离影响",
|
||||
"F_BepInEx_PingMinOpac_T": "标记最低透明度",
|
||||
"F_BepInEx_PingMinOpac_D": "在玩家看向标记时最低的显示透明度",
|
||||
"F_BepInEx_PingRange_T": "标记展示距离",
|
||||
"F_BepInEx_PingRange_D": "启用后显示你和标记的距离",
|
||||
"F_BepInEx_PingSound_T": "标记音效",
|
||||
"F_BepInEx_PingSound_D": "标记时播放音效",
|
||||
"F_BepInEx_FreeCamButton_T": "自由视角按键",
|
||||
"F_BepInEx_FreeCamButton_D": "用来开启自由视角的按键",
|
||||
"F_BepInEx_SpectateBots_T": "允许观战Bots",
|
||||
"F_BepInEx_SpectateBots_D": "是否允许玩家在死亡/撤离后观战Bots",
|
||||
"F_BepInEx_AZERTYMode_T": "小键盘操控模式",
|
||||
"F_BepInEx_AZERTYMode_D": "自由相机模式使用小键盘操控",
|
||||
"F_BepInEx_DroneMode_T": "无人机模式",
|
||||
"F_BepInEx_DroneMode_D": "自由相机就像无人机一样只能沿着垂直轴移动",
|
||||
"F_BepInEx_KeybindOverlay_T": "键位叠加层",
|
||||
"F_BepInEx_KeybindOverlay_D": "是否显示包含所有自由视角的键位的叠加层",
|
||||
"F_BepInEx_DynamicAI_T": "动态 AI",
|
||||
"F_BepInEx_DynamicAI_D": "使用动态 AI 系统,在玩家范围之外禁用 AI。",
|
||||
"F_BepInEx_DynamicAIRange_T": "动态 AI 范围",
|
||||
"F_BepInEx_DynamicAIRange_D": "动态禁用 AI 的范围。",
|
||||
"F_BepInEx_DynamicAIRate_T": "动态 AI 速度",
|
||||
"F_BepInEx_DynamicAIRate_D": "动态AI应该多久扫描一次所有玩家的范围",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "忽略狙击手",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "动态AI是否应该忽略狙击手Scav。",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "强制生成上限",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "在生成机器人时强制生成上限,确保不会超过原版的极限。 这主要会影响到使用生成模组或修改机器人限制的任何东西。不会阻止像boss这样的特殊机器人的生成。",
|
||||
"F_BepInEx_DespawnFurthest_T": "取消最远生成",
|
||||
"F_BepInEx_DespawnFurthest_D": "当强制生成上限时,最远的机器人会取消生成,而不是阻止生成。这将使得突袭在更低的最大机器人数量下更加活跃。对较弱的PC有帮助。只能取消生成PMC和SCAV,如果你不运行动态生成模组,这将会很快耗尽地图上的生成总数,使得突袭变得非常冷清",
|
||||
"F_BepInEx_DespawnMinDistance_T": "取消生成的最小距离",
|
||||
"F_BepInEx_DespawnMinDistance_D": "取消生成一个机器人的最小距离",
|
||||
"F_BepInEx_MaxBots_T": "最大机器人数量{0}",
|
||||
"F_BepInEx_MaxBots_D": "最大同时激活的机器人数量(适用于 {0})。如果你的电脑性能较弱,这个设置会很有用。将其设置为 0 使用默认限制。无法在突袭过程中更改。",
|
||||
"F_BepInEx_NativeSockets_T": "原生套接字",
|
||||
"F_BepInEx_NativeSockets_D": "使用 原生套接字 进行游戏数据流量传输。这会直接使用套接字调用进行发送/接收,从而显著提高速度并减少GC压力。此功能仅适用于 Windows 和 Linux 系统,并非在所有情况下都能正常工作。",
|
||||
"F_BepInEx_ForceIP_T": "强制IP",
|
||||
"F_BepInEx_ForceIP_D": "在托管时强制服务器使用此 IP 地址向后端广播,而不是自动尝试获取 IP。留空以禁用此功能。",
|
||||
"F_BepInEx_ForceBindIP_T": "强制绑定 IP",
|
||||
"F_BepInEx_ForceBindIP_D": "在托管时强制服务器使用此本地适配器启动服务器。如果你在使用 VPN 托管,这个设置会很有用。",
|
||||
"F_BepInEx_UDPPort_T": "UDP 端口",
|
||||
"F_BepInEx_UDPPort_D": "用于 UDP 游戏数据包的端口。",
|
||||
"F_BepInEx_UseUPnP_T": "使用UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "尝试使用 UPnP 打开端口。如果你无法自行打开端口,但路由器支持 UPnP,则此功能会很有用。",
|
||||
"F_BepInEx_UseNatPunch_T": "使用 NAT 穿透",
|
||||
"F_BepInEx_UseNatPunch_D": "在托管突袭时启用 NAT 穿透功能。仅适用于支持 Fullcone NAT 类型的路由器,并且需要 SPT 服务器上运行 NatPunchServer。启用此模式时,UPnP、强制 IP 和强制绑定 IP 功能将被禁用。",
|
||||
"F_BepInEx_ConnectionTimeout_T": "连接超时",
|
||||
"F_BepInEx_ConnectionTimeout_D": "如果没有收到数据包,判定连接丢失所需的时间。",
|
||||
"F_BepInEx_SendRate_T": "发送速率",
|
||||
"F_BepInEx_SendRate_D": "每秒发送移动数据包的频率(值越低=使用的带宽越少,但插值期间的延迟略高)。\n此设置仅影响主机,并会同步到所有客户端。\n单位为每秒发送次数:\n\n非常低 = 10\n低 = 15\n中 = 20\n高 = 30\n\n建议保持在不高于\"中\"的设置,因为更高的设置带来的性能提升微乎其微。",
|
||||
"F_BepInEx_SmoothingRate_T": "平滑速率",
|
||||
"F_BepInEx_SmoothingRate_D": "本地模拟延迟为(发送速率 * 平滑速率)。这样可以确保缓冲区中始终有足够的快照,以在插值期间减轻延迟和抖动的影响。\n\n低 = 1.5 \n中 = 2 \n高 = 2.5 \n\n如果运动不流畅,将此设置为“高”。无法在突袭过程中更改。",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "禁用AI新陈代谢",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "禁用AI新陈代谢,防止其在长时间战局中因饥饿/脱水而死亡",
|
||||
"F_MMUI_OnlinePlayers": "在线玩家: {0}",
|
||||
"F_MMUI_InMenu": "在菜单中",
|
||||
"F_MMUI_InRaid": "在战局中",
|
||||
"F_MMUI_InStash": "在仓库中",
|
||||
"F_MMUI_InHideout": "在藏身处中",
|
||||
"F_MMUI_InFlea": "在跳蚤市场中",
|
||||
"F_MMUI_RaidDetails": "作为 {0} 在 {1} 上游玩\n时间:{2}",
|
||||
"F_UI_LocaleError_H": "语言文件错误",
|
||||
"F_UI_LocaleError_D": "加载Fika语言时发生错误。现在正在为失效的翻译条目切换为后备模式。 请将此报告给开发者!\n\n失效的文本键值: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Vítejte u Fika, OFFLINOVÝ Coop mod pro SPT.",
|
||||
"NDA free warning": "Chcete-li založit/připojit se ke hře, musíte si vybrat mapu a přejít k poslední obrazovce, aby jste mohli použít prohlížeč serverů.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "Sdílený postup pro úkol {1} obdržen od {0}",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} vzal {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} položil předmět pro {1}",
|
||||
"F_Client_ReceivePing": "Přijat ping od {0}",
|
||||
"F_Client_ReceivePingObject": "{0} pingnul {1}",
|
||||
"F_Client_RandomSpawnPoints": "Použity náhodná místa pro zrození",
|
||||
"F_Client_MetabolismDisabled": "Metabolismus je vypnutý",
|
||||
"F_Client_YouAreMIA": "Byl jsi ztracen v akci...",
|
||||
"F_Client_KilledBoss": "{0} zabil bosse {1}",
|
||||
"F_Client_GroupMemberSpawned": "Člen skupiny {0} se zrodil",
|
||||
"F_Client_GroupMemberExtracted": "Člen skupiny {0} se extrahoval",
|
||||
"F_Client_GroupMemberDiedFrom": "Člen skupiny {0} zemřel na {1}",
|
||||
"F_Client_GroupMemberDied": "Člen skupiny {0} zemřel",
|
||||
"F_Client_ConnectedToServer": "Připojeno k serveru na portu {0}",
|
||||
"F_Client_ServerStarted": "Server spuštěn na portu {0}",
|
||||
"F_Client_CouldNotFindValidIP": "Platná lokální IP nenalezena!",
|
||||
"F_Client_ReconnectRequested": "Obdržen požadavek pro znovupřipojení, očekávejte lag...",
|
||||
"F_Client_PeerConnected": "Klient připojen k serveru na portu {0}",
|
||||
"F_Client_PeerDisconnected": "Klient odpojen {0}, info: {1}",
|
||||
"F_Client_ConnectingToSession": "Připojování k relaci...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} je zakázáno odesílat",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} obsahuje {1}, což je zakázáno odesílat",
|
||||
"F_Client_SavedProfile": "Profil {0} uložen do {1}",
|
||||
"F_Client_UnknownError": "Vrácena neznámá vyjímka, zkontrolujte log soubor",
|
||||
"F_Client_HostCannotExtract": "Nemůžete opustit hru dokud se všichni klienti neodpojí",
|
||||
"F_Client_HostCannotExtractMenu": "Nemůžete opustit hru dokud jsou připojení klienti! Zbývá: {0}",
|
||||
"F_Client_Wait5Seconds": "Počkejte prosím alespoň 5 sekund od odpojení posledního klienta před ukončením",
|
||||
"F_Client_StartingRaid": "Raid začíná, prosím čekejte...",
|
||||
"F_Client_LostConnection": "Připojení k hostovi ztraceno",
|
||||
"F_Client_StartingRaidOnDedicated": "Spouštím raid na dedikovaném klientovy... prosím čekejte",
|
||||
"F_SendItem_Header": "VYBERTE HRÁČE",
|
||||
"F_SendItem_SendButton": "ODESLAT",
|
||||
"F_MMUI_RaidsHeader": "RAIDY",
|
||||
"F_MMUI_HostRaidButton": "Založit RAID",
|
||||
"F_MMUI_JoinButton": "PŘIPOJIT",
|
||||
"F_MMUI_SelectAmountHeader": "VYBERTE POČET",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "Kolik lidí (včetně vás) bude hrát?",
|
||||
"F_MMUI_UseDedicatedHost": "Použít Dedikovaného Hosta",
|
||||
"F_MMUI_StartButton": "SPUSTIT",
|
||||
"F_MMUI_LoadingScreenHeader": "NAČÍTÁNÍ",
|
||||
"F_MMUI_LoadingScreenDescription": "Počkejte prosím, než se raid spustí... může to chvíli trvat.",
|
||||
"F_MMUI_JoinAsSpectator": "Join as spectator",
|
||||
"F_UI_StartRaid": "Start Raid",
|
||||
"F_UI_StartRaidDescription": "Starts the raid\nNew players will not be able to join",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Nelze se připojit k raidu na jiné mapě.\nMapa raidu: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Nelze se připojit k raidu v jiném čase.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "Ke scav raidu se jako PMC nemůžete připojit.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "K PMC raidu se jako scav nemůžete připojit.",
|
||||
"F_UI_HostStillLoading": "Host stále načítá.",
|
||||
"F_UI_RaidInProgress": "Raid již probíhá.",
|
||||
"F_UI_ReJoinRaid": "Kliknutím se znovu připojíte k raidu.",
|
||||
"F_UI_CannotReJoinRaidDied": "K raidu, ve kterém jste zemřeli, se nelze znovu připojit.",
|
||||
"F_UI_JoinRaid": "Klikněte pro připojení k raidu.",
|
||||
"F_UI_ErrorConnecting": "CHYBA PŘIPOJENÍ",
|
||||
"F_UI_UnableToConnect": "K serveru se nelze připojit. Ujistěte se prosím, že jsou všechny porty otevřené a všechna nastavení správné.",
|
||||
"F_UI_FikaPingerFailStart": "FikaPinger se nepodařilo spustit!",
|
||||
"F_UI_RefreshRaids": "Obnovit seznam aktivních raidů.",
|
||||
"F_UI_DedicatedError": "CHYBA DEDIKOVANÉHO FIKA KLIENTA",
|
||||
"F_UI_ErrorForceIPHeader": "CHYBA VYNUCENÍ IP",
|
||||
"F_UI_ErrorForceIP": "{0} není platná IP adresa pro připojení! Zkontrolujte nastavení 'Vynutit IP'.",
|
||||
"F_UI_ErrorBindIPHeader": "CHYBA BINDOVÁNÍ",
|
||||
"F_UI_ErrorBindIP": "{0} není platná IP adresa pro připojení! Zkontrolujte nastavení 'Vynutit Bindování IP'.",
|
||||
"F_UI_NoDedicatedClients": "Dedikovaný klient není k dispozici.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "Čekáme na zakladatele hry aby dokončil raid inicializaci...",
|
||||
"F_UI_WaitForOtherPlayers": "Čekání na ostatní hráče co se načítají...",
|
||||
"F_UI_RetrieveSpawnInfo": "Obdržuji informace o spawnu ze serveru...",
|
||||
"F_UI_RetrieveLoot": "Obdržuji loot ze serveru...",
|
||||
"F_UI_WaitForHostInit": "Čekání na zakladatele hry aby inicializoval raid...",
|
||||
"F_UI_Reconnecting": "Znovu se připojuji...",
|
||||
"F_UI_RetrieveExfilData": "Obdržování exfiltračních dat ze serveru...",
|
||||
"F_UI_RetrieveInteractables": "Obdržování interaktivních objektů ze serveru...",
|
||||
"F_UI_InitCoopGame": "Inicializace kooperační hry...",
|
||||
"F_UI_AllPlayersJoined": "Všichni hráči se připojily, spouštím hru...",
|
||||
"F_UI_WaitingForConnect": "Čekání na klienta připojení k serveru... Jestli nejsou žádné upozornění, tak to selhalo.",
|
||||
"F_UI_ErrorConnectingToRaid": "Nelze se připojit k raid serveru. Ujistěte se, že vaše porty jsou přesměrované a UPnP je zaplé a podporovatelné.",
|
||||
"F_UI_FinishingRaidInit": "Dokončování inicializace...",
|
||||
"F_UI_SyncThrowables": "Synchronizuji vrhací věci...",
|
||||
"F_UI_SyncInteractables": "Synchronizuji interakce...",
|
||||
"F_UI_SyncLampStates": "Synchronizování stavů...",
|
||||
"F_UI_SyncWindows": "Synchronizuji okna...",
|
||||
"F_UI_ReceiveOwnPlayer": "Obdržování vlastního hráče...",
|
||||
"F_UI_FinishReconnect": "Znovu se připojujete...",
|
||||
"F_Client_FreeCamInputDisabled": "Volné ovládání kamery vypnuto",
|
||||
"F_Client_FreeCamInputEnabled": "Volné ovládání kamery zapnuto",
|
||||
"F_UI_WaitForPlayer": "Čekání na {0} hráče",
|
||||
"F_UI_WaitForPlayers": "Čekání na {0} hráčů",
|
||||
"F_UI_ToSLong": "Vítejte u Fika!\n\nFika je kooperativní mod pro SPT, který vám umožňuje hrát s přáteli. Fika je a vždy bude zdarma, pokud jste za ni zaplatili, byli jste podvedeni. Také není dovoleno provozovat veřejné servery s monetizací nebo přijímáním darů.\n\n\"Počkejte, až tato zpráva zmizí, abyste přijali naše podmínky služby.\"\n\nMůžete se připojit na náš Discord zde: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Vítejte u Fika!\n\nFika je kooperativní mod pro SPT, který vám umožňuje hrát s přáteli. Fika je a vždy bude zdarma, pokud jste za ni zaplatili, byli jste podvedeni. Také není dovoleno provozovat veřejné servery s monetizací nebo přijímáním darů.\n\nMůžete se připojit na náš Discord zde: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "In this mode, you can play online co-op with your friends without the risk of meeting others.\nAll game mechanics in the co-op mode (weather, bots, bosses, etc.) are identical to the online mechanics.\nOnly the hosts settings will take effect.",
|
||||
"F_UI_CoopGameMode": "Fika Co-op Game Mode",
|
||||
"F_UI_CoopRaidSettings": "Fika Co-op Raid Settings",
|
||||
"F_UI_FikaAlwaysCoop": "Co-op is always enabled in Fika",
|
||||
"F_UI_UpnpFailed": "UPnP mapping failed. Make sure the selected port is not already open!\nDisable UPnP if you are using a VPN.",
|
||||
"F_UI_InitWeather": "Generating weather...",
|
||||
"F_Notification_RaidStarted": "{0} started a raid on {1}",
|
||||
"F_Notification_ItemReceived": "You received a {0} from {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "Editing of RaidSettings is disabled by the server host",
|
||||
"F_UI_ExtractMessage": "Press {0} to extract",
|
||||
"F_UI_DownloadProfile": "DOWNLOAD PROFILE",
|
||||
"F_BepInEx_H_Advanced": "Advanced",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Coop | Name Plates",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Coop | Quest Sharing",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Pinging",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Debug",
|
||||
"F_BepInEx_H_Performance": "Performance",
|
||||
"F_BepInEx_H_PerformanceBots": "Performance | Max Bots",
|
||||
"F_BepInEx_H_Network": "Network",
|
||||
"F_BepInEx_H_Gameplay": "Gameplay",
|
||||
"F_BepInEx_OfficialVersion_T": "Official Version",
|
||||
"F_BepInEx_OfficialVersion_D": "Show official version instead of Fika version.",
|
||||
"F_BepInEx_ShowFeed_T": "Show Feed",
|
||||
"F_BepInEx_ShowFeed_D": "Enable custom notifications when a player dies, extracts, kills a boss, etc.",
|
||||
"F_BepInEx_AutoExtract_T": "Auto Extract",
|
||||
"F_BepInEx_AutoExtract_D": "Automatically extracts after the extraction countdown. As a host, this will only work if there are no clients connected.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Show Extract Message",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Whether to show the extract message after dying/extracting.",
|
||||
"F_BepInEx_ExtractKey_T": "Extract Key",
|
||||
"F_BepInEx_ExtractKey_D": "The key used to extract from the raid.",
|
||||
"F_BepInEx_EnableChat_T": "Enable Chat",
|
||||
"F_BepInEx_EnableChat_D": "Toggle to enable chat in game. Cannot be change mid raid.",
|
||||
"F_BepInEx_ChatKey_T": "Chat Key",
|
||||
"F_BepInEx_ChatKey_D": "The key used to open the chat window.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Enable Online Players",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "If the online players menu should be shown in the menu.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Online Players Scale",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "The scale of the window that displays online players. Only change if it looks out of proportion.\n\nRequires a refresh of the main menu to take effect.",
|
||||
"F_BepInEx_UseNamePlates_T": "Show Player Name Plates",
|
||||
"F_BepInEx_UseNamePlates_D": "If name plates should be shown above teammates.",
|
||||
"F_BepInEx_HideHealthBar_T": "Hide Health Bar",
|
||||
"F_BepInEx_HideHealthBar_D": "Completely hides the health bar.",
|
||||
"F_BepInEx_UsePercent_T": "Show HP% instead of bar",
|
||||
"F_BepInEx_UsePercent_D": "Shows health in % amount instead of using the bar.",
|
||||
"F_BepInEx_ShowEffects_T": "Show Effects",
|
||||
"F_BepInEx_ShowEffects_D": "If status effects should be displayed below the health bar.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Show Player Faction Icon",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Shows the player faction icon next to the HP bar.",
|
||||
"F_BepInEx_HideInOptic_T": "Hide Name Plate in Optic",
|
||||
"F_BepInEx_HideInOptic_D": "Hides the name plate when viewing through PiP scopes.",
|
||||
"F_BepInEx_OpticUseZoom_T": "Name Plates Use Optic Zoom",
|
||||
"F_BepInEx_OpticUseZoom_D": "If name plate location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Decrease Opacity In Peripheral",
|
||||
"F_BepInEx_DecOpacPeri_D": "Decreases the opacity of the name plates when not looking at a player.",
|
||||
"F_BepInEx_NamePlateScale_T": "Name Plate Scale",
|
||||
"F_BepInEx_NamePlateScale_D": "Size of the name plates.",
|
||||
"F_BepInEx_AdsOpac_T": "Opacity in ADS",
|
||||
"F_BepInEx_AdsOpac_D": "The opacity of the name plates when aiming down sights.",
|
||||
"F_BepInEx_MaxDistance_T": "Max Distance to Show",
|
||||
"F_BepInEx_MaxDistance_D": "The maximum distance at which name plates will become invisible, starts to fade at half the input value.",
|
||||
"F_BepInEx_MinOpac_T": "Minimum Opacity",
|
||||
"F_BepInEx_MinOpac_D": "The minimum opacity of the name plates.",
|
||||
"F_BepInEx_MinPlateScale_T": "Minimum Name Plate Scale",
|
||||
"F_BepInEx_MinPlateScale_D": "The minimum scale of the name plates.",
|
||||
"F_BepInEx_UseOcclusion_T": "Use Occlusion",
|
||||
"F_BepInEx_UseOcclusion_D": "Use occlusion to hide the name plate when the player is out of sight.",
|
||||
"F_BepInEx_QuestTypes_T": "Quest Types",
|
||||
"F_BepInEx_QuestTypes_D": "Which quest types to receive and send. PlaceBeacon is both markers and items.",
|
||||
"F_BepInEx_QSNotifications_T": "Show Notifications",
|
||||
"F_BepInEx_QSNotifications_D": "If a notification should be shown when quest progress is shared with out.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Easy Kill Conditions",
|
||||
"F_BepInEx_EasyKillConditions_D": "Enables easy kill conditions. When this is used, any time a friendly player kills something, it treats it as if you killed it for your quests as long as all conditions are met.\nThis can be inconsistent and does not always work.",
|
||||
"F_BepInEx_SharedKillXP_T": "Shared Kill Experience",
|
||||
"F_BepInEx_SharedKillXP_D": "If enabled you will receive ½ of the experience when a friendly player kills an enemy (not bosses).",
|
||||
"F_BepInEx_SharedBossXP_T": "Shared Boss Experience",
|
||||
"F_BepInEx_SharedBossXP_D": "If enabled you will receive ½ of the experience when a friendly player kills a boss.",
|
||||
"F_BepInEx_PingSystem_T": "Ping System",
|
||||
"F_BepInEx_PingSystem_D": "Toggle Ping System. If enabled you can receive and send pings by pressing the ping key.",
|
||||
"F_BepInEx_PingButton_T": "Ping Button",
|
||||
"F_BepInEx_PingButton_D": "Button used to send pings.",
|
||||
"F_BepInEx_PingColor_T": "Ping Color",
|
||||
"F_BepInEx_PingColor_D": "The color of your pings when displayed for other players.",
|
||||
"F_BepInEx_PingSize_T": "Ping Size",
|
||||
"F_BepInEx_PingSize_D": "The multiplier of the ping size.",
|
||||
"F_BepInEx_PingTime_T": "Ping Time",
|
||||
"F_BepInEx_PingTime_D": "How long pings should be displayed.",
|
||||
"F_BepInEx_PingAnimation_T": "Play Ping Animation",
|
||||
"F_BepInEx_PingAnimation_D": "Plays the pointing animation automatically when pinging. Can interfere with gameplay.",
|
||||
"F_BepInEx_PingOptics_T": "Show Ping During Optics",
|
||||
"F_BepInEx_PingOptics_D": "If pings should be displayed while aiming down an optics scope.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Ping Use Optic Zoom",
|
||||
"F_BepInEx_PingOpticZoom_D": "If ping location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Ping Scale With Distance",
|
||||
"F_BepInEx_PingScaleDistance_D": "If ping size should scale with distance from player.",
|
||||
"F_BepInEx_PingMinOpac_T": "Ping Minimum Opacity",
|
||||
"F_BepInEx_PingMinOpac_D": "The minimum opacity of pings when looking straight at them.",
|
||||
"F_BepInEx_PingRange_T": "Show Ping Range",
|
||||
"F_BepInEx_PingRange_D": "Shows the range from your player to the ping if enabled.",
|
||||
"F_BepInEx_PingSound_T": "Ping Sound",
|
||||
"F_BepInEx_PingSound_D": "The audio that plays on ping",
|
||||
"F_BepInEx_FreeCamButton_T": "Free Camera Button",
|
||||
"F_BepInEx_FreeCamButton_D": "Button used to toggle free camera.",
|
||||
"F_BepInEx_SpectateBots_T": "Allow Spectating Bots",
|
||||
"F_BepInEx_SpectateBots_D": "If we should allow spectating bots if all players are dead/extracted.",
|
||||
"F_BepInEx_AZERTYMode_T": "AZERTY Mode",
|
||||
"F_BepInEx_AZERTYMode_D": "If free camera should use AZERTY keys for input.",
|
||||
"F_BepInEx_DroneMode_T": "Drone Mode",
|
||||
"F_BepInEx_DroneMode_D": "If the free camera should move only along the vertical axis like a drone.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Keybind Overlay",
|
||||
"F_BepInEx_KeybindOverlay_D": "If an overlay with all free cam keybinds should show.",
|
||||
"F_BepInEx_DynamicAI_T": "Dynamic AI",
|
||||
"F_BepInEx_DynamicAI_D": "Use the dynamic AI system, disabling AI when they are outside of all player's range.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Dynamic AI Range",
|
||||
"F_BepInEx_DynamicAIRange_D": "The range at which AI will be disabled dynamically.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Dynamic AI Rate",
|
||||
"F_BepInEx_DynamicAIRate_D": "How often DynamicAI should scan for the range from all players.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignore Snipers",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Whether Dynamic AI should ignore sniper scavs.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Enforced Spawn Limits",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Enforces spawn limits when spawning bots, making sure to not go over the vanilla limits. This mainly takes affect when using spawn mods or anything that modifies the bot limits. Will not block spawns of special bots like bosses.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Despawn Furthest",
|
||||
"F_BepInEx_DespawnFurthest_D": "When enforcing spawn limits, should the furthest bot be de-spawned instead of blocking the spawn. This will make for a much more active raid on a lower Max Bots count. Helpful for weaker PCs. Will only despawn pmcs and scavs. If you don't run a dynamic spawn mod, this will however quickly exhaust the spawns on the map, making the raid very dead instead.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Despawn Minimum Distance",
|
||||
"F_BepInEx_DespawnMinDistance_D": "The minimum distance to despawn a bot.",
|
||||
"F_BepInEx_MaxBots_T": "Max Bots {0}",
|
||||
"F_BepInEx_MaxBots_D": "Max amount of bots that can be active at the same time on {0}. Useful if you have a weaker PC. Set to 0 to use vanilla limits. Cannot be changed during a raid.",
|
||||
"F_BepInEx_NativeSockets_T": "Native Sockets",
|
||||
"F_BepInEx_NativeSockets_D": "Use NativeSockets for gameplay traffic. This uses direct socket calls for send/receive to drastically increase speed and reduce GC pressure. Only for Windows/Linux and might not always work.",
|
||||
"F_BepInEx_ForceIP_T": "Force IP",
|
||||
"F_BepInEx_ForceIP_D": "Forces the server when hosting to use this IP when broadcasting to the backend instead of automatically trying to fetch it. Leave empty to disable.",
|
||||
"F_BepInEx_ForceBindIP_T": "Force Bind IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Forces the server when hosting to use this local adapter when starting the server. Useful if you are hosting on a VPN.",
|
||||
"F_BepInEx_UDPPort_T": "UDP Port",
|
||||
"F_BepInEx_UDPPort_D": "Port to use for UDP gameplay packets.",
|
||||
"F_BepInEx_UseUPnP_T": "Use UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Attempt to open ports using UPnP. Useful if you cannot open ports yourself but the router supports UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Use NAT Punching",
|
||||
"F_BepInEx_UseNatPunch_D": "Use NAT punching when hosting a raid. Only works with fullcone NAT type routers and requires NatPunchServer to be running on the SPT server. UPnP, Force IP and Force Bind IP are disabled with this mode.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Connection Timeout",
|
||||
"F_BepInEx_ConnectionTimeout_D": "How long it takes for a connection to be considered dropped if no packets are received.",
|
||||
"F_BepInEx_SendRate_T": "Send Rate",
|
||||
"F_BepInEx_SendRate_D": "How often per second movement packets should be sent (lower = less bandwidth used, slight more delay during interpolation)\nThis only affects the host and will be synchronized to all clients.\nAmount is per second:\n\nVery Low = 10\nLow = 15\nMedium = 20\nHigh = 30\n\nRecommended to leave at no higher than Medium as the gains are insignificant after.",
|
||||
"F_BepInEx_SmoothingRate_T": "Smoothing Rate",
|
||||
"F_BepInEx_SmoothingRate_D": "Local simulation is behind by (Send Rate * Smoothing Rate). This guarantees that we always have enough snapshots in the buffer to mitigate lags & jitter during interpolation.\n\nLow = 1.5\nMedium = 2\nHigh = 2.5\n\nSet this to 'High' if movement isn't smooth. Cannot be changed during a raid.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Disable Bot Metabolism",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Disables metabolism on bots, preventing them from dying from loss of energy/hydration during long raids.",
|
||||
"F_MMUI_OnlinePlayers": "ONLINE PLAYERS: {0}",
|
||||
"F_MMUI_InMenu": "In Menu",
|
||||
"F_MMUI_InRaid": "In Raid",
|
||||
"F_MMUI_InStash": "In Stash",
|
||||
"F_MMUI_InHideout": "In Hideout",
|
||||
"F_MMUI_InFlea": "In Flea",
|
||||
"F_MMUI_RaidDetails": "Playing as a {0} on {1}\nTime: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Welcome to Fika, the OFFLINE Coop Mod for SPT.",
|
||||
"NDA free warning": "To host/join a game you must select a map and go to the last screen to use the Server Browser.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "Received shared quest progression from {0} for the quest {1}",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} picked up {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} planted an item for {1}",
|
||||
"F_Client_ReceivePing": "Received a ping from {0}",
|
||||
"F_Client_ReceivePingObject": "{0} pinged {1}",
|
||||
"F_Client_RandomSpawnPoints": "Using random spawn points",
|
||||
"F_Client_MetabolismDisabled": "Metabolism disabled",
|
||||
"F_Client_YouAreMIA": "You have gone missing in action...",
|
||||
"F_Client_KilledBoss": "{0} killed boss {1}",
|
||||
"F_Client_GroupMemberSpawned": "Group member {0} has spawned",
|
||||
"F_Client_GroupMemberExtracted": "Group member {0} has extracted",
|
||||
"F_Client_GroupMemberDiedFrom": "Group member {0} has died from {1}",
|
||||
"F_Client_GroupMemberDied": "Group member {0} has died",
|
||||
"F_Client_ConnectedToServer": "Connected to server on port {0}",
|
||||
"F_Client_ServerStarted": "Server started on port {0}",
|
||||
"F_Client_CouldNotFindValidIP": "Could not find a valid local IP!",
|
||||
"F_Client_ReconnectRequested": "Reconnect requested, expect lag...",
|
||||
"F_Client_PeerConnected": "Peer connected to server on port {0}",
|
||||
"F_Client_PeerDisconnected": "Peer disconnected {0}, info: {1}",
|
||||
"F_Client_ConnectingToSession": "Connecting to session...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} is blacklisted from being sent",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} contains {1} which is blacklisted from being sent",
|
||||
"F_Client_SavedProfile": "Saved profile {0} to {1}",
|
||||
"F_Client_UnknownError": "An unknown exception was thrown, check your log file",
|
||||
"F_Client_HostCannotExtract": "You cannot exit the game until all clients have disconnected",
|
||||
"F_Client_HostCannotExtractMenu": "You cannot disconnect while there are still peers connected! Remaining: {0}",
|
||||
"F_Client_Wait5Seconds": "Please wait at least 5 seconds after the last peer disconnected before quitting",
|
||||
"F_Client_StartingRaid": "Starting raid, please wait...",
|
||||
"F_Client_LostConnection": "Lost connection to host",
|
||||
"F_Client_StartingRaidOnDedicated": "Starting raid on dedicated client... please wait",
|
||||
"F_SendItem_Header": "SELECT A PLAYER",
|
||||
"F_SendItem_SendButton": "SEND",
|
||||
"F_MMUI_RaidsHeader": "RAIDS",
|
||||
"F_MMUI_HostRaidButton": "HOST RAID",
|
||||
"F_MMUI_JoinButton": "JOIN",
|
||||
"F_MMUI_SelectAmountHeader": "SELECT AMOUNT",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "How many people (including you) will be playing?",
|
||||
"F_MMUI_UseDedicatedHost": "Use Dedicated Host",
|
||||
"F_MMUI_StartButton": "START",
|
||||
"F_MMUI_LoadingScreenHeader": "LOADING",
|
||||
"F_MMUI_LoadingScreenDescription": "Please wait while the raid is initializing... this might take some time.",
|
||||
"F_MMUI_JoinAsSpectator": "Join as spectator",
|
||||
"F_UI_StartRaid": "Start Raid",
|
||||
"F_UI_StartRaidDescription": "Starts the raid\nNew players will not be able to join",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Cannot join a raid that is on another map.\nRaid map: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Cannot join a raid that is on another time.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "You cannot join a scav raid as a PMC.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "You cannot join a PMC raid as a scav.",
|
||||
"F_UI_HostStillLoading": "Host is still loading.",
|
||||
"F_UI_RaidInProgress": "Raid is already in progress.",
|
||||
"F_UI_ReJoinRaid": "Click to rejoin raid.",
|
||||
"F_UI_CannotReJoinRaidDied": "Cannot rejoin a raid where you died.",
|
||||
"F_UI_JoinRaid": "Click to join raid.",
|
||||
"F_UI_ErrorConnecting": "ERROR CONNECTING",
|
||||
"F_UI_UnableToConnect": "Unable to connect to the server. Make sure that all ports are open and that all settings are configured correctly.",
|
||||
"F_UI_FikaPingerFailStart": "Could not start the FikaPinger!",
|
||||
"F_UI_RefreshRaids": "Refresh list of active raids.",
|
||||
"F_UI_DedicatedError": "FIKA DEDICATED ERROR",
|
||||
"F_UI_ErrorForceIPHeader": "ERROR FORCING IP",
|
||||
"F_UI_ErrorForceIP": "'{0}' is not a valid IP address to connect to! Check your 'Force IP' setting.",
|
||||
"F_UI_ErrorBindIPHeader": "ERROR BINDING",
|
||||
"F_UI_ErrorBindIP": "'{0}' is not a valid IP address to bind to! Check your 'Force Bind IP' setting.",
|
||||
"F_UI_NoDedicatedClients": "No dedicated clients are available.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "Waiting for host to finish raid initialization...",
|
||||
"F_UI_WaitForOtherPlayers": "Waiting for other players to finish loading...",
|
||||
"F_UI_RetrieveSpawnInfo": "Retrieving spawn info from server...",
|
||||
"F_UI_RetrieveLoot": "Retrieving loot from server...",
|
||||
"F_UI_WaitForHostInit": "Waiting for host to initialize raid...",
|
||||
"F_UI_Reconnecting": "Reconnecting...",
|
||||
"F_UI_RetrieveExfilData": "Retrieving exfiltration data from server...",
|
||||
"F_UI_RetrieveInteractables": "Retrieving interactable objects from server...",
|
||||
"F_UI_InitCoopGame": "Initializing Coop Game...",
|
||||
"F_UI_AllPlayersJoined": "All players joined, starting game...",
|
||||
"F_UI_WaitingForConnect": "Waiting for client to connect to server... If there is no notification it failed.",
|
||||
"F_UI_ErrorConnectingToRaid": "Unable to connect to the raid server. Make sure ports are forwarded and/or UPnP is enabled and supported.",
|
||||
"F_UI_FinishingRaidInit": "Finishing raid initialization...",
|
||||
"F_UI_SyncThrowables": "Syncing throwables...",
|
||||
"F_UI_SyncInteractables": "Syncing interactables...",
|
||||
"F_UI_SyncLampStates": "Syncing lamp states...",
|
||||
"F_UI_SyncWindows": "Syncing windows...",
|
||||
"F_UI_ReceiveOwnPlayer": "Receiving own player...",
|
||||
"F_UI_FinishReconnect": "Finishing reconnect...",
|
||||
"F_Client_FreeCamInputDisabled": "Free cam input disabled",
|
||||
"F_Client_FreeCamInputEnabled": "Free cam input enabled",
|
||||
"F_UI_WaitForPlayer": "Waiting for {0} player",
|
||||
"F_UI_WaitForPlayers": "Waiting for {0} players",
|
||||
"F_UI_ToSLong": "Welcome to Fika!\r\n\r\nFika is a co-op mod for SPT, allowing you to play with your friends. Fika is and will always be free, if you paid for it you got scammed. You are also not allowed to host public servers with monetization or donations.\r\n\r\nWait for this message to fade to accept our Terms of Service.\r\n\r\nYou can join our Discord here: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Welcome to Fika!\r\n\r\nFika is a co-op mod for SPT, allowing you to play with your friends. Fika is and will always be free, if you paid for it you got scammed. You are also not allowed to host public servers with monetization or donations.\r\n\r\nYou can join our Discord here: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "In this mode, you can play online co-op with your friends without the risk of meeting others.\nAll game mechanics in the co-op mode (weather, bots, bosses, etc.) are identical to the online mechanics.\nOnly the hosts settings will take effect.",
|
||||
"F_UI_CoopGameMode": "Fika Co-op Game Mode",
|
||||
"F_UI_CoopRaidSettings": "Fika Co-op Raid Settings",
|
||||
"F_UI_FikaAlwaysCoop": "Co-op is always enabled in Fika",
|
||||
"F_UI_UpnpFailed": "UPnP mapping failed. Make sure the selected port is not already open!\nDisable UPnP if you are using a VPN.",
|
||||
"F_UI_InitWeather": "Generating weather...",
|
||||
"F_Notification_RaidStarted": "{0} started a raid on {1}",
|
||||
"F_Notification_ItemReceived": "You received a {0} from {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "Editing of RaidSettings is disabled by the server host",
|
||||
"F_UI_ExtractMessage": "Press {0} to extract",
|
||||
"F_UI_DownloadProfile": "DOWNLOAD PROFILE",
|
||||
"F_BepInEx_H_Advanced": "Advanced",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Coop | Name Plates",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Coop | Quest Sharing",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Pinging",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Debug",
|
||||
"F_BepInEx_H_Performance": "Performance",
|
||||
"F_BepInEx_H_PerformanceBots": "Performance | Max Bots",
|
||||
"F_BepInEx_H_Network": "Network",
|
||||
"F_BepInEx_H_Gameplay": "Gameplay",
|
||||
"F_BepInEx_OfficialVersion_T": "Official Version",
|
||||
"F_BepInEx_OfficialVersion_D": "Show official version instead of Fika version.",
|
||||
"F_BepInEx_ShowFeed_T": "Show Feed",
|
||||
"F_BepInEx_ShowFeed_D": "Enable custom notifications when a player dies, extracts, kills a boss, etc.",
|
||||
"F_BepInEx_AutoExtract_T": "Auto Extract",
|
||||
"F_BepInEx_AutoExtract_D": "Automatically extracts after the extraction countdown. As a host, this will only work if there are no clients connected.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Show Extract Message",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Whether to show the extract message after dying/extracting.",
|
||||
"F_BepInEx_ExtractKey_T": "Extract Key",
|
||||
"F_BepInEx_ExtractKey_D": "The key used to extract from the raid.",
|
||||
"F_BepInEx_EnableChat_T": "Enable Chat",
|
||||
"F_BepInEx_EnableChat_D": "Toggle to enable chat in game. Cannot be change mid raid.",
|
||||
"F_BepInEx_ChatKey_T": "Chat Key",
|
||||
"F_BepInEx_ChatKey_D": "The key used to open the chat window.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Enable Online Players",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "If the online players menu should be shown in the menu.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Online Players Scale",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "The scale of the window that displays online players. Only change if it looks out of proportion.\n\nRequires a refresh of the main menu to take effect.",
|
||||
"F_BepInEx_UseNamePlates_T": "Show Player Name Plates",
|
||||
"F_BepInEx_UseNamePlates_D": "If name plates should be shown above teammates.",
|
||||
"F_BepInEx_HideHealthBar_T": "Hide Health Bar",
|
||||
"F_BepInEx_HideHealthBar_D": "Completely hides the health bar.",
|
||||
"F_BepInEx_UsePercent_T": "Show HP% instead of bar",
|
||||
"F_BepInEx_UsePercent_D": "Shows health in % amount instead of using the bar.",
|
||||
"F_BepInEx_ShowEffects_T": "Show Effects",
|
||||
"F_BepInEx_ShowEffects_D": "If status effects should be displayed below the health bar.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Show Player Faction Icon",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Shows the player faction icon next to the HP bar.",
|
||||
"F_BepInEx_HideInOptic_T": "Hide Name Plate in Optic",
|
||||
"F_BepInEx_HideInOptic_D": "Hides the name plate when viewing through PiP scopes.",
|
||||
"F_BepInEx_OpticUseZoom_T": "Name Plates Use Optic Zoom",
|
||||
"F_BepInEx_OpticUseZoom_D": "If name plate location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Decrease Opacity In Peripheral",
|
||||
"F_BepInEx_DecOpacPeri_D": "Decreases the opacity of the name plates when not looking at a player.",
|
||||
"F_BepInEx_NamePlateScale_T": "Name Plate Scale",
|
||||
"F_BepInEx_NamePlateScale_D": "Size of the name plates.",
|
||||
"F_BepInEx_AdsOpac_T": "Opacity in ADS",
|
||||
"F_BepInEx_AdsOpac_D": "The opacity of the name plates when aiming down sights.",
|
||||
"F_BepInEx_MaxDistance_T": "Max Distance to Show",
|
||||
"F_BepInEx_MaxDistance_D": "The maximum distance at which name plates will become invisible, starts to fade at half the input value.",
|
||||
"F_BepInEx_MinOpac_T": "Minimum Opacity",
|
||||
"F_BepInEx_MinOpac_D": "The minimum opacity of the name plates.",
|
||||
"F_BepInEx_MinPlateScale_T": "Minimum Name Plate Scale",
|
||||
"F_BepInEx_MinPlateScale_D": "The minimum scale of the name plates.",
|
||||
"F_BepInEx_UseOcclusion_T": "Use Occlusion",
|
||||
"F_BepInEx_UseOcclusion_D": "Use occlusion to hide the name plate when the player is out of sight.",
|
||||
"F_BepInEx_QuestTypes_T": "Quest Types",
|
||||
"F_BepInEx_QuestTypes_D": "Which quest types to receive and send. PlaceBeacon is both markers and items.",
|
||||
"F_BepInEx_QSNotifications_T": "Show Notifications",
|
||||
"F_BepInEx_QSNotifications_D": "If a notification should be shown when quest progress is shared with out.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Easy Kill Conditions",
|
||||
"F_BepInEx_EasyKillConditions_D": "Enables easy kill conditions. When this is used, any time a friendly player kills something, it treats it as if you killed it for your quests as long as all conditions are met.\nThis can be inconsistent and does not always work.",
|
||||
"F_BepInEx_SharedKillXP_T": "Shared Kill Experience",
|
||||
"F_BepInEx_SharedKillXP_D": "If enabled you will receive ½ of the experience when a friendly player kills an enemy (not bosses).",
|
||||
"F_BepInEx_SharedBossXP_T": "Shared Boss Experience",
|
||||
"F_BepInEx_SharedBossXP_D": "If enabled you will receive ½ of the experience when a friendly player kills a boss.",
|
||||
"F_BepInEx_PingSystem_T": "Ping System",
|
||||
"F_BepInEx_PingSystem_D": "Toggle Ping System. If enabled you can receive and send pings by pressing the ping key.",
|
||||
"F_BepInEx_PingButton_T": "Ping Button",
|
||||
"F_BepInEx_PingButton_D": "Button used to send pings.",
|
||||
"F_BepInEx_PingColor_T": "Ping Color",
|
||||
"F_BepInEx_PingColor_D": "The color of your pings when displayed for other players.",
|
||||
"F_BepInEx_PingSize_T": "Ping Size",
|
||||
"F_BepInEx_PingSize_D": "The multiplier of the ping size.",
|
||||
"F_BepInEx_PingTime_T": "Ping Time",
|
||||
"F_BepInEx_PingTime_D": "How long pings should be displayed.",
|
||||
"F_BepInEx_PingAnimation_T": "Play Ping Animation",
|
||||
"F_BepInEx_PingAnimation_D": "Plays the pointing animation automatically when pinging. Can interfere with gameplay.",
|
||||
"F_BepInEx_PingOptics_T": "Show Ping During Optics",
|
||||
"F_BepInEx_PingOptics_D": "If pings should be displayed while aiming down an optics scope.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Ping Use Optic Zoom",
|
||||
"F_BepInEx_PingOpticZoom_D": "If ping location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Ping Scale With Distance",
|
||||
"F_BepInEx_PingScaleDistance_D": "If ping size should scale with distance from player.",
|
||||
"F_BepInEx_PingMinOpac_T": "Ping Minimum Opacity",
|
||||
"F_BepInEx_PingMinOpac_D": "The minimum opacity of pings when looking straight at them.",
|
||||
"F_BepInEx_PingRange_T": "Show Ping Range",
|
||||
"F_BepInEx_PingRange_D": "Shows the range from your player to the ping if enabled.",
|
||||
"F_BepInEx_PingSound_T": "Ping Sound",
|
||||
"F_BepInEx_PingSound_D": "The audio that plays on ping",
|
||||
"F_BepInEx_FreeCamButton_T": "Free Camera Button",
|
||||
"F_BepInEx_FreeCamButton_D": "Button used to toggle free camera.",
|
||||
"F_BepInEx_SpectateBots_T": "Allow Spectating Bots",
|
||||
"F_BepInEx_SpectateBots_D": "If we should allow spectating bots if all players are dead/extracted.",
|
||||
"F_BepInEx_AZERTYMode_T": "AZERTY Mode",
|
||||
"F_BepInEx_AZERTYMode_D": "If free camera should use AZERTY keys for input.",
|
||||
"F_BepInEx_DroneMode_T": "Drone Mode",
|
||||
"F_BepInEx_DroneMode_D": "If the free camera should move only along the vertical axis like a drone.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Keybind Overlay",
|
||||
"F_BepInEx_KeybindOverlay_D": "If an overlay with all free cam keybinds should show.",
|
||||
"F_BepInEx_DynamicAI_T": "Dynamic AI",
|
||||
"F_BepInEx_DynamicAI_D": "Use the dynamic AI system, disabling AI when they are outside of all player's range.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Dynamic AI Range",
|
||||
"F_BepInEx_DynamicAIRange_D": "The range at which AI will be disabled dynamically.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Dynamic AI Rate",
|
||||
"F_BepInEx_DynamicAIRate_D": "How often DynamicAI should scan for the range from all players.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignore Snipers",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Whether Dynamic AI should ignore sniper scavs.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Enforced Spawn Limits",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Enforces spawn limits when spawning bots, making sure to not go over the vanilla limits. This mainly takes affect when using spawn mods or anything that modifies the bot limits. Will not block spawns of special bots like bosses.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Despawn Furthest",
|
||||
"F_BepInEx_DespawnFurthest_D": "When enforcing spawn limits, should the furthest bot be de-spawned instead of blocking the spawn. This will make for a much more active raid on a lower Max Bots count. Helpful for weaker PCs. Will only despawn pmcs and scavs. If you don't run a dynamic spawn mod, this will however quickly exhaust the spawns on the map, making the raid very dead instead.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Despawn Minimum Distance",
|
||||
"F_BepInEx_DespawnMinDistance_D": "The minimum distance to despawn a bot.",
|
||||
"F_BepInEx_MaxBots_T": "Max Bots {0}",
|
||||
"F_BepInEx_MaxBots_D": "Max amount of bots that can be active at the same time on {0}. Useful if you have a weaker PC. Set to 0 to use vanilla limits. Cannot be changed during a raid.",
|
||||
"F_BepInEx_NativeSockets_T": "Native Sockets",
|
||||
"F_BepInEx_NativeSockets_D": "Use NativeSockets for gameplay traffic. This uses direct socket calls for send/receive to drastically increase speed and reduce GC pressure. Only for Windows/Linux and might not always work.",
|
||||
"F_BepInEx_ForceIP_T": "Force IP",
|
||||
"F_BepInEx_ForceIP_D": "Forces the server when hosting to use this IP when broadcasting to the backend instead of automatically trying to fetch it. Leave empty to disable.",
|
||||
"F_BepInEx_ForceBindIP_T": "Force Bind IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Forces the server when hosting to use this local adapter when starting the server. Useful if you are hosting on a VPN.",
|
||||
"F_BepInEx_UDPPort_T": "UDP Port",
|
||||
"F_BepInEx_UDPPort_D": "Port to use for UDP gameplay packets.",
|
||||
"F_BepInEx_UseUPnP_T": "Use UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Attempt to open ports using UPnP. Useful if you cannot open ports yourself but the router supports UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Use NAT Punching",
|
||||
"F_BepInEx_UseNatPunch_D": "Use NAT punching when hosting a raid. Only works with fullcone NAT type routers and requires NatPunchServer to be running on the SPT server. UPnP, Force IP and Force Bind IP are disabled with this mode.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Connection Timeout",
|
||||
"F_BepInEx_ConnectionTimeout_D": "How long it takes for a connection to be considered dropped if no packets are received.",
|
||||
"F_BepInEx_SendRate_T": "Send Rate",
|
||||
"F_BepInEx_SendRate_D": "How often per second movement packets should be sent (lower = less bandwidth used, slight more delay during interpolation)\nThis only affects the host and will be synchronized to all clients.\nAmount is per second:\n\nVery Low = 10\nLow = 15\nMedium = 20\nHigh = 30\n\nRecommended to leave at no higher than Medium as the gains are insignificant after.",
|
||||
"F_BepInEx_SmoothingRate_T": "Smoothing Rate",
|
||||
"F_BepInEx_SmoothingRate_D": "Local simulation is behind by (Send Rate * Smoothing Rate). This guarantees that we always have enough snapshots in the buffer to mitigate lags & jitter during interpolation.\n\nLow = 1.5\nMedium = 2\nHigh = 2.5\n\nSet this to 'High' if movement isn't smooth. Cannot be changed during a raid.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Disable Bot Metabolism",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Disables metabolism on bots, preventing them from dying from loss of energy/hydration during long raids.",
|
||||
"F_MMUI_OnlinePlayers": "ONLINE PLAYERS: {0}",
|
||||
"F_MMUI_InMenu": "In Menu",
|
||||
"F_MMUI_InRaid": "In Raid",
|
||||
"F_MMUI_InStash": "In Stash",
|
||||
"F_MMUI_InHideout": "In Hideout",
|
||||
"F_MMUI_InFlea": "In Flea",
|
||||
"F_MMUI_RaidDetails": "Playing as a {0} on {1}\nTime: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Bienvenidos a Fika, el Mod cooperativo para SPT.",
|
||||
"NDA free warning": "Para Crear/Unirte a una partida debes seleccionar un mapa, luego en la última ventana usa el Buscador de Servidores.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "Se ha recibo progresso compartido por parte de {0} para la mision {1}",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} ha recogido {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} coloco un objeto para {1}",
|
||||
"F_Client_ReceivePing": "Ping recibido de {0}",
|
||||
"F_Client_ReceivePingObject": "{0} hizo ping {1}",
|
||||
"F_Client_RandomSpawnPoints": "Utilizando puntos de aparición aleatorios",
|
||||
"F_Client_MetabolismDisabled": "Metabolismo desactivado",
|
||||
"F_Client_YouAreMIA": "Has desaparecido en la acción...",
|
||||
"F_Client_KilledBoss": "{0} mató al jefe {1}",
|
||||
"F_Client_GroupMemberSpawned": "El miembro de grupo {0} ha aparecido",
|
||||
"F_Client_GroupMemberExtracted": "El miembro de grupo {0} ha extraído",
|
||||
"F_Client_GroupMemberDiedFrom": "El miembro de grupo {0} ha muerto de {1}",
|
||||
"F_Client_GroupMemberDied": "El miembro de grupo {0} ha muerto",
|
||||
"F_Client_ConnectedToServer": "Conectado al servidor en el puerto {0}",
|
||||
"F_Client_ServerStarted": "El servidor se inició en el puerto {0}",
|
||||
"F_Client_CouldNotFindValidIP": "¡No se ha podido encontrar una IP local válida!",
|
||||
"F_Client_ReconnectRequested": "Reconexión solicitada, espere retrasos...",
|
||||
"F_Client_PeerConnected": "Par conectado al servidor en el puerto {0}",
|
||||
"F_Client_PeerDisconnected": "Par desconectado {0}, información: {1}",
|
||||
"F_Client_ConnectingToSession": "Conectando a la sesión...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} está en la lista negra de ser enviado",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} contiene {1} que está en la lista negra de ser enviado",
|
||||
"F_Client_SavedProfile": "Perfil guardado {0} en {1}",
|
||||
"F_Client_UnknownError": "Se ha lanzado una excepción desconocida, comprueba tu archivo de registro",
|
||||
"F_Client_HostCannotExtract": "No puedes salir del juego hasta que todos los clientes se hayan desconectado",
|
||||
"F_Client_HostCannotExtractMenu": "¡No puedes desconectar mientras todavía hay pares conectados! Restante: {0}",
|
||||
"F_Client_Wait5Seconds": "Por favor, espere al menos 5 segundos después de que el último par se desconecte antes de salir",
|
||||
"F_Client_StartingRaid": "Iniciando la incursión, por favor espere...",
|
||||
"F_Client_LostConnection": "Conexión perdida con el anfitrión",
|
||||
"F_Client_StartingRaidOnDedicated": "Iniciando incursión en el cliente dedicado... por favor espere",
|
||||
"F_SendItem_Header": "SELECCIONA UN JUGADOR",
|
||||
"F_SendItem_SendButton": "ENVIAR",
|
||||
"F_MMUI_RaidsHeader": "INCURSIONES",
|
||||
"F_MMUI_HostRaidButton": "ALBERGAR INCURSIÓN",
|
||||
"F_MMUI_JoinButton": "UNIRSE",
|
||||
"F_MMUI_SelectAmountHeader": "SELECCIONA CANTIDAD",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "¿Cuántas personas (incluyéndote) van a jugar?",
|
||||
"F_MMUI_UseDedicatedHost": "Usar Anfitrión Remoto",
|
||||
"F_MMUI_StartButton": "COMENZAR",
|
||||
"F_MMUI_LoadingScreenHeader": "CARGANDO",
|
||||
"F_MMUI_LoadingScreenDescription": "Por favor, espere mientras la inclusión se está inicializando... esto puede tomar algún tiempo.",
|
||||
"F_MMUI_JoinAsSpectator": "Unirse como espectador",
|
||||
"F_UI_StartRaid": "Start Raid",
|
||||
"F_UI_StartRaidDescription": "Starts the raid\nNew players will not be able to join",
|
||||
"F_UI_CannotJoinRaidOtherMap": "No puedes unirte a una incursión que está en otro mapa.\nMapa de incursión: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "No puedes unirte a una incursión que esté en otro horario.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "No puedes unirte a una incursión de SCAV como PMC.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "No puedes unirte a una incursión de PMC como SCAV.",
|
||||
"F_UI_HostStillLoading": "El anfitrión todavía está cargando.",
|
||||
"F_UI_RaidInProgress": "La incursión ya está en curso.",
|
||||
"F_UI_ReJoinRaid": "Haz clic para volver a unirte a la incursión.",
|
||||
"F_UI_CannotReJoinRaidDied": "No puedes volver a unirte a una inclusión en la que ya has muerto.",
|
||||
"F_UI_JoinRaid": "Clic para unirte a la incursión.",
|
||||
"F_UI_ErrorConnecting": "ERROR AL CONECTAR",
|
||||
"F_UI_UnableToConnect": "No se puede conectar al servidor. Asegúrese de que todos los puertos están abiertos y que todos los ajustes están configurados correctamente.",
|
||||
"F_UI_FikaPingerFailStart": "¡No se ha podido iniciar el FikaPinger!",
|
||||
"F_UI_RefreshRaids": "Actualizar lista de incursiones activas.",
|
||||
"F_UI_DedicatedError": "ERROR DEDICADO FIKA",
|
||||
"F_UI_ErrorForceIPHeader": "ERROR FORZANDO IP",
|
||||
"F_UI_ErrorForceIP": "¡'{0}' no es una dirección IP válida para conectarse! Compruebe su configuración de 'Forzar IP'.",
|
||||
"F_UI_ErrorBindIPHeader": "ERROR ENLAZANDO",
|
||||
"F_UI_ErrorBindIP": "'{0}' no es una dirección IP válida para enlazar! Compruebe su configuración de 'Forzar enlace IP'.",
|
||||
"F_UI_NoDedicatedClients": "No hay clientes dedicados disponibles.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "Esperando por el anfitrión para inicializar de la incursión...",
|
||||
"F_UI_WaitForOtherPlayers": "Esperando por otros jugadores para terminar la carga...",
|
||||
"F_UI_RetrieveSpawnInfo": "Recuperando información de aparición del servidor...",
|
||||
"F_UI_RetrieveLoot": "Recuperando botín del servidor...",
|
||||
"F_UI_WaitForHostInit": "Esperando que el anfitrión inicialice la incursión...",
|
||||
"F_UI_Reconnecting": "Reconectando...",
|
||||
"F_UI_RetrieveExfilData": "Recuperando datos de exfiltración del servidor...",
|
||||
"F_UI_RetrieveInteractables": "Recuperando objetos interactivos del servidor...",
|
||||
"F_UI_InitCoopGame": "Inicializando el juego de Cooperativo...",
|
||||
"F_UI_AllPlayersJoined": "Todos los jugadores se unieron, comenzando el juego...",
|
||||
"F_UI_WaitingForConnect": "Esperando que los clientes se conecten al servidor... Si no hay notificación, es porque falló.",
|
||||
"F_UI_ErrorConnectingToRaid": "No se puede conectar al servidor de incursión. Asegúrese de que los puertos estén compartidos y/o el UPnP está habilitado y es soportado.",
|
||||
"F_UI_FinishingRaidInit": "Finalizando la inicialización de la incursión...",
|
||||
"F_UI_SyncThrowables": "Sincronizando lanzables...",
|
||||
"F_UI_SyncInteractables": "Sincronizando interactivos...",
|
||||
"F_UI_SyncLampStates": "Sincronizando estados de lámparas...",
|
||||
"F_UI_SyncWindows": "Sincronizando ventanas...",
|
||||
"F_UI_ReceiveOwnPlayer": "Recibiendo su propio jugador...",
|
||||
"F_UI_FinishReconnect": "Finalizando la reconexión...",
|
||||
"F_Client_FreeCamInputDisabled": "Entrada de la cámara libre deshabilitada",
|
||||
"F_Client_FreeCamInputEnabled": "Entrada de la cámara libre habilitada",
|
||||
"F_UI_WaitForPlayer": "Esperando a {0} jugador",
|
||||
"F_UI_WaitForPlayers": "Esperando a {0} jugadores",
|
||||
"F_UI_ToSLong": "¡Bienvenido a Fika!\n\nFika es un mod cooperativo para SPT, permitiéndote jugar con tus amigos. Fika es y siempre será gratis, si pagaste por él, has sido estafado. No se permite alojar servidores públicos con monetización o donaciones.\n\nEspera a que este mensaje desaparezca para aceptar nuestros Términos de Servicio.\n\nPuedes unirte a nuestro Discord aquí: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "¡Bienvenido a Fika!\n\nFika es un mod cooperativo para SPT, permitiéndote jugar con tus amigos. Fika es y siempre será gratis, si pagaste por él, has sido estafado. No se permite alojar servidores públicos con monetización o donaciones.\n\nPuedes unirte a nuestro Discord aquí: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "En este modo, puedes jugar co-op en línea con tus amigos sin el riesgo de encontrarte con otros.\nTodas las mecánicas del juego en el modo Co-op (clima, bots, bosses, etcétera) son identicas a las mecánicas en línea.\nSolo las opciones del anfitrión tendrán efecto.",
|
||||
"F_UI_CoopGameMode": "Modo de Juego Co-op de Fika",
|
||||
"F_UI_CoopRaidSettings": "Opciones de Raid Co-op de Fika",
|
||||
"F_UI_FikaAlwaysCoop": "El co-op siempre está activado en Fika",
|
||||
"F_UI_UpnpFailed": "El mapeo UPnP falló. ¡Asegúrate de que el puerto seleccionado no esté abierto!\nDeshabilita UPnP si estás usando una VPN.",
|
||||
"F_UI_InitWeather": "Generando clima...",
|
||||
"F_Notification_RaidStarted": "{0} comenzó una raid en {1}",
|
||||
"F_Notification_ItemReceived": "Recibiste un {0} de {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "La edición de RaidSettings ha sido desactivada por el anfitrión del servidor",
|
||||
"F_UI_ExtractMessage": "Presiona {0} para extraer",
|
||||
"F_UI_DownloadProfile": "DOWNLOAD PROFILE",
|
||||
"F_BepInEx_H_Advanced": "Avanzado",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Cocina | Placas de nombre",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Cocina | Compartir Misiones",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Marcado",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Depuración",
|
||||
"F_BepInEx_H_Performance": "Rendimiento",
|
||||
"F_BepInEx_H_PerformanceBots": "Rendimiento | Bots máximos",
|
||||
"F_BepInEx_H_Network": "Red",
|
||||
"F_BepInEx_H_Gameplay": "Jugabilidad",
|
||||
"F_BepInEx_OfficialVersion_T": "Versión Oficial",
|
||||
"F_BepInEx_OfficialVersion_D": "Muestra la versión oficial en vez de la versión de Fika..",
|
||||
"F_BepInEx_ShowFeed_T": "Show Feed",
|
||||
"F_BepInEx_ShowFeed_D": "Habilitar notificaciones personalizadas cuando un jugador muere, extrae, mata a un jefe, etc.",
|
||||
"F_BepInEx_AutoExtract_T": "Auto Extracción",
|
||||
"F_BepInEx_AutoExtract_D": "Extraer automáticamente después de la cuenta regresiva de la extracción. Como anfitrión, esto solo funcionará si no hay clientes conectados.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Mostrar Mensaje de Extracción",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Si se debe mostrar el mensaje de extracción después de morir/extraer.",
|
||||
"F_BepInEx_ExtractKey_T": "Tecla para Extraer",
|
||||
"F_BepInEx_ExtractKey_D": "La tecla utilizada para extraer de la incursión.",
|
||||
"F_BepInEx_EnableChat_T": "Habilitar Chat",
|
||||
"F_BepInEx_EnableChat_D": "Alterna para activar el chat en el juego. No se puede cambiar durante la incursión.",
|
||||
"F_BepInEx_ChatKey_T": "Tecla del Chat",
|
||||
"F_BepInEx_ChatKey_D": "La tecla utilizada para abrir la ventana de chat.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Activar Jugadores en Línea",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "Si el menú de jugadores en línea debería mostrarse en el menú.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Escala de Jugadores en Línea",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "La escala de la ventana que muestra los jugadores en línea. Solo cambiar si está mal proporcionada.\n\nRequiere refrescar el menú principal para que surta efecto.",
|
||||
"F_BepInEx_UseNamePlates_T": "Mostrar Placas de Nombres de Jugador",
|
||||
"F_BepInEx_UseNamePlates_D": "Si las placas de nombre deberían mostrarse por encima de los compañeros de equipo.",
|
||||
"F_BepInEx_HideHealthBar_T": "Ocultar Barra de Salud",
|
||||
"F_BepInEx_HideHealthBar_D": "Oculta completamente la barra de salud.",
|
||||
"F_BepInEx_UsePercent_T": "Mostrar HP% en vez de la barra",
|
||||
"F_BepInEx_UsePercent_D": "Muestra la salud en % en lugar de usar la barra.",
|
||||
"F_BepInEx_ShowEffects_T": "Mostrar efectos",
|
||||
"F_BepInEx_ShowEffects_D": "Si los efectos de estado deben mostrarse debajo de la barra de salud.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Mostrar el icono de la facción del jugador",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Muestra el icono de la facción del jugador junto a la barra de HP.",
|
||||
"F_BepInEx_HideInOptic_T": "Ocultar Placas de Nombres en Ópticas",
|
||||
"F_BepInEx_HideInOptic_D": "Oculta la placa de nombre cuando se ve a través de las miras PiP.",
|
||||
"F_BepInEx_OpticUseZoom_T": "Name Plates Use Optic Zoom",
|
||||
"F_BepInEx_OpticUseZoom_D": "Si la ubicación de la placa del nombre debe mostrarse al usar la cámara óptica PiP.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Decrease Opacity In Peripheral",
|
||||
"F_BepInEx_DecOpacPeri_D": "Disminuye la opacidad de las placas de nombre cuando no se mira a un jugador.",
|
||||
"F_BepInEx_NamePlateScale_T": "Escala de la Placa de Nombre",
|
||||
"F_BepInEx_NamePlateScale_D": "Tamaño de las placas de nombre.",
|
||||
"F_BepInEx_AdsOpac_T": "Opacidad en ADS",
|
||||
"F_BepInEx_AdsOpac_D": "La opacidad de las placas de nombre al apuntar con las miras.",
|
||||
"F_BepInEx_MaxDistance_T": "Distancia máxima para mostrar",
|
||||
"F_BepInEx_MaxDistance_D": "La distancia máxima en la que las placas de nombres se volverán invisibles, comienzan a desvanecerse a la mitad del valor ingresado.",
|
||||
"F_BepInEx_MinOpac_T": "Opacidad Mínima",
|
||||
"F_BepInEx_MinOpac_D": "La opacidad mínima de las placas de nombre.",
|
||||
"F_BepInEx_MinPlateScale_T": "Escala Mínima de las Placas de Nombre",
|
||||
"F_BepInEx_MinPlateScale_D": "La escala mínima de las placas de nombre.",
|
||||
"F_BepInEx_UseOcclusion_T": "Usar oclusión",
|
||||
"F_BepInEx_UseOcclusion_D": "Usar la oclusión para ocultar las placas de nombre cuando el jugador está fuera de vista.",
|
||||
"F_BepInEx_QuestTypes_T": "Quest Types",
|
||||
"F_BepInEx_QuestTypes_D": "Which quest types to receive and send. PlaceBeacon is both markers and items.",
|
||||
"F_BepInEx_QSNotifications_T": "Mostrar Notificaciones",
|
||||
"F_BepInEx_QSNotifications_D": "If a notification should be shown when quest progress is shared with out.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Easy Kill Conditions",
|
||||
"F_BepInEx_EasyKillConditions_D": "Enables easy kill conditions. When this is used, any time a friendly player kills something, it treats it as if you killed it for your quests as long as all conditions are met.\nThis can be inconsistent and does not always work.",
|
||||
"F_BepInEx_SharedKillXP_T": "Experiencia de Baja Compartida",
|
||||
"F_BepInEx_SharedKillXP_D": "If enabled you will receive ½ of the experience when a friendly player kills an enemy (not bosses).",
|
||||
"F_BepInEx_SharedBossXP_T": "Shared Boss Experience",
|
||||
"F_BepInEx_SharedBossXP_D": "If enabled you will receive ½ of the experience when a friendly player kills a boss.",
|
||||
"F_BepInEx_PingSystem_T": "Ping System",
|
||||
"F_BepInEx_PingSystem_D": "Toggle Ping System. If enabled you can receive and send pings by pressing the ping key.",
|
||||
"F_BepInEx_PingButton_T": "Ping Button",
|
||||
"F_BepInEx_PingButton_D": "Button used to send pings.",
|
||||
"F_BepInEx_PingColor_T": "Ping Color",
|
||||
"F_BepInEx_PingColor_D": "The color of your pings when displayed for other players.",
|
||||
"F_BepInEx_PingSize_T": "Ping Size",
|
||||
"F_BepInEx_PingSize_D": "The multiplier of the ping size.",
|
||||
"F_BepInEx_PingTime_T": "Ping Time",
|
||||
"F_BepInEx_PingTime_D": "How long pings should be displayed.",
|
||||
"F_BepInEx_PingAnimation_T": "Play Ping Animation",
|
||||
"F_BepInEx_PingAnimation_D": "Plays the pointing animation automatically when pinging. Can interfere with gameplay.",
|
||||
"F_BepInEx_PingOptics_T": "Show Ping During Optics",
|
||||
"F_BepInEx_PingOptics_D": "If pings should be displayed while aiming down an optics scope.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Ping Use Optic Zoom",
|
||||
"F_BepInEx_PingOpticZoom_D": "If ping location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Ping Scale With Distance",
|
||||
"F_BepInEx_PingScaleDistance_D": "If ping size should scale with distance from player.",
|
||||
"F_BepInEx_PingMinOpac_T": "Ping Minimum Opacity",
|
||||
"F_BepInEx_PingMinOpac_D": "The minimum opacity of pings when looking straight at them.",
|
||||
"F_BepInEx_PingRange_T": "Show Ping Range",
|
||||
"F_BepInEx_PingRange_D": "Shows the range from your player to the ping if enabled.",
|
||||
"F_BepInEx_PingSound_T": "Ping Sound",
|
||||
"F_BepInEx_PingSound_D": "The audio that plays on ping",
|
||||
"F_BepInEx_FreeCamButton_T": "Botón de cámara libre",
|
||||
"F_BepInEx_FreeCamButton_D": "Botón usado para alternar la cámara libre.",
|
||||
"F_BepInEx_SpectateBots_T": "Permitir Bots Espectadores",
|
||||
"F_BepInEx_SpectateBots_D": "Si debemos permitir bots espectadores si todos los jugadores estan muertos/extraídos.",
|
||||
"F_BepInEx_AZERTYMode_T": "Modo AZERTY",
|
||||
"F_BepInEx_AZERTYMode_D": "Si la cámara libre debe utilizar las teclas AZERTY para controlarla.",
|
||||
"F_BepInEx_DroneMode_T": "Modo Dron",
|
||||
"F_BepInEx_DroneMode_D": "Si la cámara libre debe moverse sólo a lo largo del eje vertical como si fuera un dron.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Keybind Overlay",
|
||||
"F_BepInEx_KeybindOverlay_D": "If an overlay with all free cam keybinds should show.",
|
||||
"F_BepInEx_DynamicAI_T": "IA Dinámica",
|
||||
"F_BepInEx_DynamicAI_D": "Utilizar el sistema de IA dinámico, desactivando la IA cuando están fuera de rango de todos los jugadores.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Rango de la IA Dinámica",
|
||||
"F_BepInEx_DynamicAIRange_D": "El rango en el que la IA se desactivará automáticamente.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Dynamic AI Rate",
|
||||
"F_BepInEx_DynamicAIRate_D": "Qué tan seguido la IA Dinámica debe buscar el rango de los todos los jugadores.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignorar Francotiradores",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Whether Dynamic AI should ignore sniper scavs.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Enforced Spawn Limits",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Enforces spawn limits when spawning bots, making sure to not go over the vanilla limits. This mainly takes affect when using spawn mods or anything that modifies the bot limits. Will not block spawns of special bots like bosses.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Despawn Furthest",
|
||||
"F_BepInEx_DespawnFurthest_D": "When enforcing spawn limits, should the furthest bot be de-spawned instead of blocking the spawn. This will make for a much more active raid on a lower Max Bots count. Helpful for weaker PCs. Will only despawn pmcs and scavs. If you don't run a dynamic spawn mod, this will however quickly exhaust the spawns on the map, making the raid very dead instead.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Despawn Minimum Distance",
|
||||
"F_BepInEx_DespawnMinDistance_D": "The minimum distance to despawn a bot.",
|
||||
"F_BepInEx_MaxBots_T": "Max Bots {0}",
|
||||
"F_BepInEx_MaxBots_D": "Max amount of bots that can be active at the same time on {0}. Useful if you have a weaker PC. Set to 0 to use vanilla limits. Cannot be changed during a raid.",
|
||||
"F_BepInEx_NativeSockets_T": "Sockets Nativos",
|
||||
"F_BepInEx_NativeSockets_D": "Utilizar NativeSockets para el tráfico del juego. Esto utiliza llamadas directas de socket para enviar/recibir, para aumentar drásticamente la velocidad y reducir la presión de GC. Sólo para Windows/Linux y no siempre funciona.",
|
||||
"F_BepInEx_ForceIP_T": "Forzar IP",
|
||||
"F_BepInEx_ForceIP_D": "Fuerza al servidor al ser anfitrión a utilizar esta IP cuando se transmite al backend en vez de intentar conseguirla automáticamente. Dejar en blanco para desactivar.",
|
||||
"F_BepInEx_ForceBindIP_T": "Force Bind IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Fuerza al servidor al ser anfitrión a utilizar este adaptador local al iniciar el servidor. Útil al ser anfitrión a través de una VPN.",
|
||||
"F_BepInEx_UDPPort_T": "Puerto UDP",
|
||||
"F_BepInEx_UDPPort_D": "Puerto a utilizar para paquetes de juego UDP.",
|
||||
"F_BepInEx_UseUPnP_T": "Usar UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Intentar abrir puertos usando UPnP. Útil si no puede abrir sus puertos pero el router soporta UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Usar NAT Punching",
|
||||
"F_BepInEx_UseNatPunch_D": "Usar NAT Punching al ser anfitrión de una incursión. Solo funciona con routers de tipo Fullcone NAT y requiere que NatPunchServer se esté ejecutando en el servidor SPT. UPnP, Force IP y Force Bind IP son desactivados con este modo.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Connection Timeout",
|
||||
"F_BepInEx_ConnectionTimeout_D": "Cuánto tiempo se tarda en que una conexión se considere abandonada si no se han recibido paquetes.",
|
||||
"F_BepInEx_SendRate_T": "Tasa de Envío",
|
||||
"F_BepInEx_SendRate_D": "Que tan seguido se deben enviar los paquetes de movimiento por segundo (menor = menos ancho de banda utilizado, ligeramente más retraso durante la interpolación)\nEsto solo afecta al anfitrión y será sincronizado con todos los clientes.\nLa cantidad es por segundo:\n\nMuy Bajo = 10\nBajo = 15\nMedio = 20\nAlto = 30\n\nRecomendado no dejarlo más alto que Medio ya que las ganancias son insignificantes.",
|
||||
"F_BepInEx_SmoothingRate_T": "Tasa de Suavizado",
|
||||
"F_BepInEx_SmoothingRate_D": "La simulación local está retrasada por (Tasa de Envío * Tasa de Suavizado). Esto garantiza que siempre habrán suficientes tomas instantáneas en el buffer para mitigar retrasos e irregularidades durante la interpolación.\n\nBajo = 1.5\nMedio = 2\nAlto = 2.5\n\nEstablecer en \"Alto\" si el movimiento no es suave. No se puede cambiar durante una incursión.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Disable Bot Metabolism",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Disables metabolism on bots, preventing them from dying from loss of energy/hydration during long raids.",
|
||||
"F_MMUI_OnlinePlayers": "JUGADORES EN LÍNEA: {0}",
|
||||
"F_MMUI_InMenu": "En el Menú",
|
||||
"F_MMUI_InRaid": "En Incursión",
|
||||
"F_MMUI_InStash": "In Stash",
|
||||
"F_MMUI_InHideout": "In Hideout",
|
||||
"F_MMUI_InFlea": "In Flea",
|
||||
"F_MMUI_RaidDetails": "Playing as a {0} on {1}\nTime: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Bienvenido a Fika, el mod cooperativo OFFLINE para SPT.",
|
||||
"NDA free warning": "Para alojar/unirte a una partida tienes que seleccionar un mapa y avanzar hasta la última pantalla para usar el Buscador de Servidores.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "Se ha recibido el progreso de misión compartida de {0} para la misión {1}",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} ha recogido {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} plantó un objeto para {1}",
|
||||
"F_Client_ReceivePing": "Recibido un ping de {0}",
|
||||
"F_Client_ReceivePingObject": "{0} pingueó {1}",
|
||||
"F_Client_RandomSpawnPoints": "Usando puntos de spawn aleatorios",
|
||||
"F_Client_MetabolismDisabled": "Metabolismo deshabilitado",
|
||||
"F_Client_YouAreMIA": "Has desaparecido en combate...",
|
||||
"F_Client_KilledBoss": "{0} ha matado al boss {1}",
|
||||
"F_Client_GroupMemberSpawned": "El compañero de equipo {0} ha aparecido",
|
||||
"F_Client_GroupMemberExtracted": "El compañero de equipo {0} ha extraído",
|
||||
"F_Client_GroupMemberDiedFrom": "El miembro del grupo {0} ha muerto de {1}",
|
||||
"F_Client_GroupMemberDied": "Miembro del grupo {0} ha muerto",
|
||||
"F_Client_ConnectedToServer": "Conectado al servidor en el puerto {0}",
|
||||
"F_Client_ServerStarted": "Servidor iniciado en el puerto {0}",
|
||||
"F_Client_CouldNotFindValidIP": "¡No se ha encontrado una IP local válida!",
|
||||
"F_Client_ReconnectRequested": "Reconexión solicitada, posible lag...",
|
||||
"F_Client_PeerConnected": "Peer conectado al servidor en el puerto {0}",
|
||||
"F_Client_PeerDisconnected": "Par desconectado {0}, información: {1}",
|
||||
"F_Client_ConnectingToSession": "Conectándose a la sesión...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} está vetado de ser enviado",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} contiene {1} que está vetado de ser enviado",
|
||||
"F_Client_SavedProfile": "Perfil guardado {0} en {1}",
|
||||
"F_Client_UnknownError": "Se ha producido un error desconocido. Comprueba el log",
|
||||
"F_Client_HostCannotExtract": "No puedes salir de la partida hasta que todos los clientes se hayan desconectado",
|
||||
"F_Client_HostCannotExtractMenu": "No puedes desconectarte mientras siga habiendo pares conectados! Restantes: {0}",
|
||||
"F_Client_Wait5Seconds": "Por favor espera al menos 5 segundos desde que se desconecte el último par para salir",
|
||||
"F_Client_StartingRaid": "Iniciando raid, por favor espere...",
|
||||
"F_Client_LostConnection": "Se perdió la conexión con el host",
|
||||
"F_Client_StartingRaidOnDedicated": "Iniciando raid en cliente dedicado... por favor espere",
|
||||
"F_SendItem_Header": "SELECCIONA UN JUGADOR",
|
||||
"F_SendItem_SendButton": "ENVIAR",
|
||||
"F_MMUI_RaidsHeader": "RAIDS",
|
||||
"F_MMUI_HostRaidButton": "RAID HOST",
|
||||
"F_MMUI_JoinButton": "UNIRSE",
|
||||
"F_MMUI_SelectAmountHeader": "SELECCIONAR CANTIDAD",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "¿Cuántas personas (incluyéndote a ti) jugarán?",
|
||||
"F_MMUI_UseDedicatedHost": "Utilice un host dedicado",
|
||||
"F_MMUI_StartButton": "INICIAR",
|
||||
"F_MMUI_LoadingScreenHeader": "CARGANDO",
|
||||
"F_MMUI_LoadingScreenDescription": "Espere mientras la raid se inicializa... esto podría llevar algún tiempo.",
|
||||
"F_MMUI_JoinAsSpectator": "Unirse como espectador",
|
||||
"F_UI_StartRaid": "Start Raid",
|
||||
"F_UI_StartRaidDescription": "Starts the raid\nNew players will not be able to join",
|
||||
"F_UI_CannotJoinRaidOtherMap": "No puedes unirte a una partida en otro mapa. Mapa de la partida: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "No puedes unirte a una partida en horario distinto.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "No puedes unirte a una partida scav como PMC.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "No puedes unirte a una partida PMC como scav.",
|
||||
"F_UI_HostStillLoading": "El anfitrión está cargando todavía.",
|
||||
"F_UI_RaidInProgress": "La partida está en progreso.",
|
||||
"F_UI_ReJoinRaid": "Pulsa para reconectar a la partida.",
|
||||
"F_UI_CannotReJoinRaidDied": "No puedes volver a unirte a la partida en la que has muerto.",
|
||||
"F_UI_JoinRaid": "Pulsa para unirte a la partida.",
|
||||
"F_UI_ErrorConnecting": "ERROR DE CONEXIÓN",
|
||||
"F_UI_UnableToConnect": "Imposible conectar al servidor. Asegúrate de que todos los puertos están abiertos y todos los ajustes están correctamente configurados.",
|
||||
"F_UI_FikaPingerFailStart": "No se ha podido arrancar el FikaPinger!",
|
||||
"F_UI_RefreshRaids": "Actualizar la lista de partidas activas.",
|
||||
"F_UI_DedicatedError": "ERROR DE FIKA DEDICADO",
|
||||
"F_UI_ErrorForceIPHeader": "ERROR FORZANDO IP",
|
||||
"F_UI_ErrorForceIP": "'{0}' no es una IP válida para la conexión! Comprueba el ajuste 'Forzar IP'.",
|
||||
"F_UI_ErrorBindIPHeader": "ERROR DE UNIÓN",
|
||||
"F_UI_ErrorBindIP": "'{0}' no es una IP válida a la que forzar la unión! Comprueba tus ajustes de 'Forzar Unión de IP'.",
|
||||
"F_UI_NoDedicatedClients": "No hay clientes dedicados disponibles.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "Esperando a que el anfitrión inicialice la partida...",
|
||||
"F_UI_WaitForOtherPlayers": "Esperando a que otros jugadores terminen de cargar...",
|
||||
"F_UI_RetrieveSpawnInfo": "Recuperando información de reaparición del servidor...",
|
||||
"F_UI_RetrieveLoot": "Recuperando botín del servidor...",
|
||||
"F_UI_WaitForHostInit": "Esperando a que el Host inicie la partida...",
|
||||
"F_UI_Reconnecting": "Reconectando...",
|
||||
"F_UI_RetrieveExfilData": "Recuperando los datos de exfiltración del servidor...",
|
||||
"F_UI_RetrieveInteractables": "Recuperando objetos interactuables del servidor...",
|
||||
"F_UI_InitCoopGame": "Iniciando partida cooperativa...",
|
||||
"F_UI_AllPlayersJoined": "Todos los jugadores se unieron, comenzando el juego...",
|
||||
"F_UI_WaitingForConnect": "Esperando a que el cliente se conecte al servidor... Si no hay una notificación falló.",
|
||||
"F_UI_ErrorConnectingToRaid": "Imposible conectar al servidor de la partida. Asegúrese de que los puertos están redirigidos y/o que el UPnP está habilitado y soportado.",
|
||||
"F_UI_FinishingRaidInit": "Terminando la inicialización de la partida...",
|
||||
"F_UI_SyncThrowables": "Sincronizando arrojadizas...",
|
||||
"F_UI_SyncInteractables": "Sincronizando interactuables...",
|
||||
"F_UI_SyncLampStates": "Sincronizando estado de las lámparas...",
|
||||
"F_UI_SyncWindows": "Sincronizando ventanas...",
|
||||
"F_UI_ReceiveOwnPlayer": "Recibiendo al jugador propio...",
|
||||
"F_UI_FinishReconnect": "Terminando de reconectar...",
|
||||
"F_Client_FreeCamInputDisabled": "Entrada de la cámara libre desactivada",
|
||||
"F_Client_FreeCamInputEnabled": "Entrada de la cámara libre activada",
|
||||
"F_UI_WaitForPlayer": "Esperando a {0} jugador",
|
||||
"F_UI_WaitForPlayers": "Esperando a {0} jugadores",
|
||||
"F_UI_ToSLong": "¡Bienvenido a Fika!\n\nFika es un mod cooperativo para SPT, que te permite jugar con tus amigos. Fika es y será siempre gratis, si has pagado por él te han estafado. Tampoco está permitido alojar servidores públicos con monetización o donaciones.\n\nEspera a que este mensaje se desvanezca para aceptar nuestros Términos de Servicio.\n\nPuedes unirte a nuestro Discord aquí: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "¡Bienvenido a Fika!\n\nFika es un mod cooperativo para SPT, que te permite jugar con tus amigos. Fika es y será siempre gratis, si has pagado por él te han estafado. Tampoco está permitido alojar servidores públicos con monetización o donaciones.\n\nPuedes unirte a nuestro Discord aquí: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "En este modo, puedes jugar online Co-op con tuis amigos sin el riesgo de encontrarte con otros.\\nTodas las mecánicas del juego en el modo Co-op (clima, bots, bosses, etcétera) son identicas a las mecánicas online.\\nSolo las opciones del host tendrán efecto.",
|
||||
"F_UI_CoopGameMode": "Modo de juego Co-op de Fika",
|
||||
"F_UI_CoopRaidSettings": "Opciones de Raid Co-op de Fika",
|
||||
"F_UI_FikaAlwaysCoop": "Co-op está siempre habilitado en Fika",
|
||||
"F_UI_UpnpFailed": "El mapeo de UPnP falló. ¡Asegúrate de que el puerto seleccionado no está actualmente abierto!\\nDeshabilita UPnP si estás usando una VPN.",
|
||||
"F_UI_InitWeather": "Generando clima...",
|
||||
"F_Notification_RaidStarted": "{0} comenzó una raid en {1}",
|
||||
"F_Notification_ItemReceived": "Recibiste un {0} de {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "La edición de RaidSettings ha sido desactivada por el anfitrión del servidor",
|
||||
"F_UI_ExtractMessage": "Presiona {0} para extraer",
|
||||
"F_UI_DownloadProfile": "DOWNLOAD PROFILE",
|
||||
"F_BepInEx_H_Advanced": "Avanzado",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Cocina | Placas de nombre",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Cocina | Compartir Misiones",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Marcado",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Depuración",
|
||||
"F_BepInEx_H_Performance": "Rendimiento",
|
||||
"F_BepInEx_H_PerformanceBots": "Rendimiento | Bots máximos",
|
||||
"F_BepInEx_H_Network": "Red",
|
||||
"F_BepInEx_H_Gameplay": "Jugabilidad",
|
||||
"F_BepInEx_OfficialVersion_T": "Versión Oficial",
|
||||
"F_BepInEx_OfficialVersion_D": "Mostrar versión oficial en lugar de la versión de Fika.",
|
||||
"F_BepInEx_ShowFeed_T": "Mostrar fuente",
|
||||
"F_BepInEx_ShowFeed_D": "Habilitar notificaciones personalizadas cuando un jugador muere, extrae, mata a un jefe, etc.",
|
||||
"F_BepInEx_AutoExtract_T": "Auto Extracción",
|
||||
"F_BepInEx_AutoExtract_D": "Extraer automáticamente después de la cuenta regresiva de la extracción. Como anfitrión, esto solo funcionará si no hay clientes conectados.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Mostrar Mensaje de Extracción",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Si se debe mostrar el mensaje de extracción después de morir/extraer.",
|
||||
"F_BepInEx_ExtractKey_T": "Tecla para Extraer",
|
||||
"F_BepInEx_ExtractKey_D": "La tecla utilizada para extraer de la incursión.",
|
||||
"F_BepInEx_EnableChat_T": "Habilitar Chat",
|
||||
"F_BepInEx_EnableChat_D": "Alterna para activar el chat en el juego. No se puede cambiar durante la incursión.",
|
||||
"F_BepInEx_ChatKey_T": "Tecla del Chat",
|
||||
"F_BepInEx_ChatKey_D": "La tecla utilizada para abrir la ventana de chat.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Activar Jugadores en Línea",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "Si el menú de jugadores en línea debería mostrarse en el menú.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Escala de Jugadores en Línea",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "La escala de la ventana que muestra los jugadores en línea. Solo cambiar si está mal proporcionada.\n\nRequiere refrescar el menú principal para que surta efecto.",
|
||||
"F_BepInEx_UseNamePlates_T": "Mostrar Placas de Nombres de Jugador",
|
||||
"F_BepInEx_UseNamePlates_D": "Si las placas de nombre deberían mostrarse por encima de los compañeros de equipo.",
|
||||
"F_BepInEx_HideHealthBar_T": "Ocultar Barra de Salud",
|
||||
"F_BepInEx_HideHealthBar_D": "Oculta completamente la barra de salud.",
|
||||
"F_BepInEx_UsePercent_T": "Mostrar HP% en vez de la barra",
|
||||
"F_BepInEx_UsePercent_D": "Muestra la salud en % en lugar de usar la barra.",
|
||||
"F_BepInEx_ShowEffects_T": "Mostrar Efectos",
|
||||
"F_BepInEx_ShowEffects_D": "Si los efectos de estado deben mostrarse debajo de la barra de salud.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Mostrar el icono de la facción del jugador",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Muestra el icono de la facción del jugador junto a la barra de HP.",
|
||||
"F_BepInEx_HideInOptic_T": "Ocultar Placas de Nombres en Ópticas",
|
||||
"F_BepInEx_HideInOptic_D": "Oculta la placa de nombre cuando se ve a través de las miras PiP.",
|
||||
"F_BepInEx_OpticUseZoom_T": "",
|
||||
"F_BepInEx_OpticUseZoom_D": "Si la ubicación de la placa del nombre debe mostrarse usando la cámara óptica PiP.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Decrease Opacity In Peripheral",
|
||||
"F_BepInEx_DecOpacPeri_D": "Disminuye la opacidad de las placas de nombre cuando no se mira a un jugador.",
|
||||
"F_BepInEx_NamePlateScale_T": "Escala de la Placa de Nombre",
|
||||
"F_BepInEx_NamePlateScale_D": "Tamaño de las placas de nombre.",
|
||||
"F_BepInEx_AdsOpac_T": "Opacidad en ADS",
|
||||
"F_BepInEx_AdsOpac_D": "La opacidad de las placas de nombre al apuntar con las miras.",
|
||||
"F_BepInEx_MaxDistance_T": "Distancia máxima para mostrar",
|
||||
"F_BepInEx_MaxDistance_D": "La distancia máxima en la que las placas de nombres se volverán invisibles, comienzan a desvanecerse a la mitad del valor ingresado.",
|
||||
"F_BepInEx_MinOpac_T": "Opacidad Mínima",
|
||||
"F_BepInEx_MinOpac_D": "La opacidad mínima de las placas de nombre.",
|
||||
"F_BepInEx_MinPlateScale_T": "Escala Mínima de las Placas de Nombre",
|
||||
"F_BepInEx_MinPlateScale_D": "La escala mínima de las placas de nombre.",
|
||||
"F_BepInEx_UseOcclusion_T": "Usar oclusión",
|
||||
"F_BepInEx_UseOcclusion_D": "Usar la oclusión para ocultar las placas de nombre cuando el jugador está fuera de vista.",
|
||||
"F_BepInEx_QuestTypes_T": "Tipos de Misión",
|
||||
"F_BepInEx_QuestTypes_D": "Los tipos de misiones a recibir y enviar. PlaceBeacon son tanto marcadores como objetos.",
|
||||
"F_BepInEx_QSNotifications_T": "Mostrar Notificaciones",
|
||||
"F_BepInEx_QSNotifications_D": "If a notification should be shown when quest progress is shared with out.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Easy Kill Conditions",
|
||||
"F_BepInEx_EasyKillConditions_D": "Habilita las condiciones de baja fáciles. Cuando esto es utilizado, siempre que un jugador amistoso mate algo, cuenta como si lo hubieras matado tú para tus misiones siempre y cuando se cumplan las condiciones.\nEsto puede ser inconsistente y no siempre funciona.",
|
||||
"F_BepInEx_SharedKillXP_T": "Experiencia de Baja Compartida",
|
||||
"F_BepInEx_SharedKillXP_D": "De ser activado, recibirás la ½ de la experiencia cuando un jugador amistoso mate a un enemigo (no a un jefe).",
|
||||
"F_BepInEx_SharedBossXP_T": "Experiencia de Jefe Compartida",
|
||||
"F_BepInEx_SharedBossXP_D": "De ser activado, recibirás la ½ de la experiencia cuando un jugador amistoso mate a un jefe.",
|
||||
"F_BepInEx_PingSystem_T": "Sistema de Marcado",
|
||||
"F_BepInEx_PingSystem_D": "Alternar Sistema de Marcado. Si está habilitado, permite recibir y enviar marcas utilizando la tecla de Marcado.",
|
||||
"F_BepInEx_PingButton_T": "Botón de marcado",
|
||||
"F_BepInEx_PingButton_D": "Botón utilizado para enviar marcas.",
|
||||
"F_BepInEx_PingColor_T": "Color de la marca",
|
||||
"F_BepInEx_PingColor_D": "El color de tus marcas cuando se muestran a otros jugadores.",
|
||||
"F_BepInEx_PingSize_T": "Tamaño de la Marca",
|
||||
"F_BepInEx_PingSize_D": "The multiplier of the ping size.",
|
||||
"F_BepInEx_PingTime_T": "Ping Time",
|
||||
"F_BepInEx_PingTime_D": "How long pings should be displayed.",
|
||||
"F_BepInEx_PingAnimation_T": "Play Ping Animation",
|
||||
"F_BepInEx_PingAnimation_D": "Plays the pointing animation automatically when pinging. Can interfere with gameplay.",
|
||||
"F_BepInEx_PingOptics_T": "Show Ping During Optics",
|
||||
"F_BepInEx_PingOptics_D": "If pings should be displayed while aiming down an optics scope.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Ping Use Optic Zoom",
|
||||
"F_BepInEx_PingOpticZoom_D": "If ping location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Ping Scale With Distance",
|
||||
"F_BepInEx_PingScaleDistance_D": "If ping size should scale with distance from player.",
|
||||
"F_BepInEx_PingMinOpac_T": "Ping Minimum Opacity",
|
||||
"F_BepInEx_PingMinOpac_D": "The minimum opacity of pings when looking straight at them.",
|
||||
"F_BepInEx_PingRange_T": "Show Ping Range",
|
||||
"F_BepInEx_PingRange_D": "Shows the range from your player to the ping if enabled.",
|
||||
"F_BepInEx_PingSound_T": "Ping Sound",
|
||||
"F_BepInEx_PingSound_D": "The audio that plays on ping",
|
||||
"F_BepInEx_FreeCamButton_T": "Free Camera Button",
|
||||
"F_BepInEx_FreeCamButton_D": "Button used to toggle free camera.",
|
||||
"F_BepInEx_SpectateBots_T": "Allow Spectating Bots",
|
||||
"F_BepInEx_SpectateBots_D": "If we should allow spectating bots if all players are dead/extracted.",
|
||||
"F_BepInEx_AZERTYMode_T": "AZERTY Mode",
|
||||
"F_BepInEx_AZERTYMode_D": "If free camera should use AZERTY keys for input.",
|
||||
"F_BepInEx_DroneMode_T": "Drone Mode",
|
||||
"F_BepInEx_DroneMode_D": "If the free camera should move only along the vertical axis like a drone.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Keybind Overlay",
|
||||
"F_BepInEx_KeybindOverlay_D": "If an overlay with all free cam keybinds should show.",
|
||||
"F_BepInEx_DynamicAI_T": "IA Dinámica",
|
||||
"F_BepInEx_DynamicAI_D": "Utilizar el sistema de IA dinámico, desactivando la IA cuando están fuera de rango de todos los jugadores.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Rango de la IA Dinámica",
|
||||
"F_BepInEx_DynamicAIRange_D": "El rango en el que la IA se desactivará automáticamente.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Dynamic AI Rate",
|
||||
"F_BepInEx_DynamicAIRate_D": "How often DynamicAI should scan for the range from all players.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignorar Francotiradores",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Whether Dynamic AI should ignore sniper scavs.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Enforced Spawn Limits",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Enforces spawn limits when spawning bots, making sure to not go over the vanilla limits. This mainly takes affect when using spawn mods or anything that modifies the bot limits. Will not block spawns of special bots like bosses.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Despawn Furthest",
|
||||
"F_BepInEx_DespawnFurthest_D": "When enforcing spawn limits, should the furthest bot be de-spawned instead of blocking the spawn. This will make for a much more active raid on a lower Max Bots count. Helpful for weaker PCs. Will only despawn pmcs and scavs. If you don't run a dynamic spawn mod, this will however quickly exhaust the spawns on the map, making the raid very dead instead.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Despawn Minimum Distance",
|
||||
"F_BepInEx_DespawnMinDistance_D": "The minimum distance to despawn a bot.",
|
||||
"F_BepInEx_MaxBots_T": "Max Bots {0}",
|
||||
"F_BepInEx_MaxBots_D": "Max amount of bots that can be active at the same time on {0}. Useful if you have a weaker PC. Set to 0 to use vanilla limits. Cannot be changed during a raid.",
|
||||
"F_BepInEx_NativeSockets_T": "Native Sockets",
|
||||
"F_BepInEx_NativeSockets_D": "Use NativeSockets for gameplay traffic. This uses direct socket calls for send/receive to drastically increase speed and reduce GC pressure. Only for Windows/Linux and might not always work.",
|
||||
"F_BepInEx_ForceIP_T": "Force IP",
|
||||
"F_BepInEx_ForceIP_D": "Forces the server when hosting to use this IP when broadcasting to the backend instead of automatically trying to fetch it. Leave empty to disable.",
|
||||
"F_BepInEx_ForceBindIP_T": "Force Bind IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Forces the server when hosting to use this local adapter when starting the server. Useful if you are hosting on a VPN.",
|
||||
"F_BepInEx_UDPPort_T": "UDP Port",
|
||||
"F_BepInEx_UDPPort_D": "Port to use for UDP gameplay packets.",
|
||||
"F_BepInEx_UseUPnP_T": "Usar UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Intentar abrir puertos usando UPnP. Útil si no puede abrir sus puertos por sí mismo pero el router soporta UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Usar NAT Punching",
|
||||
"F_BepInEx_UseNatPunch_D": "Usar NAT Punching al ser anfitrión de una incursión. Solo funciona con routers de tipo Fullcone NAT y requiere que NatPunchServer se esté ejecutando en el servidor SPT. UPnP, Force IP y Force Bind IP son desactivados en este modo.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Connection Timeout",
|
||||
"F_BepInEx_ConnectionTimeout_D": "Cuánto tiempo se tarda en que una conexión se considere abandonada si no se han recibido paquetes.",
|
||||
"F_BepInEx_SendRate_T": "Tasa de Envío",
|
||||
"F_BepInEx_SendRate_D": "Que tan seguido se deben enviar los paquetes de movimiento por segundo (menor = menos ancho de banda utilizado, ligeramente más retraso durante la interpolación)\nEsto solo afecta al anfitrión y será sincronizado con todos los clientes.\nLa cantidad es por segundo:\n\nMuy Bajo = 10\nBajo = 15\nMedio = 20\nAlto = 30\n\nRecomendado no dejarlo más alto que Medio ya que las ganancias son insignificantes.",
|
||||
"F_BepInEx_SmoothingRate_T": "Tasa de Suavizado",
|
||||
"F_BepInEx_SmoothingRate_D": "La simulación local está retrasada por (Tasa de Envío * Tasa de Suavizado). Esto garantiza que siempre habrán suficientes tomas instantáneas en el buffer para mitigar retrasos e irregularidades durante la interpolación.\n\nBajo = 1.5\nMedio = 2\nAlto = 2.5\n\nEstablecer en \"Alto\" si el movimiento no es suave. No se puede cambiar durante una incursión.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Disable Bot Metabolism",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Disables metabolism on bots, preventing them from dying from loss of energy/hydration during long raids.",
|
||||
"F_MMUI_OnlinePlayers": "JUGADORES EN LÍNEA: {0}",
|
||||
"F_MMUI_InMenu": "En el Menú",
|
||||
"F_MMUI_InRaid": "En Incursión",
|
||||
"F_MMUI_InStash": "En el Alijo",
|
||||
"F_MMUI_InHideout": "En el Escondite",
|
||||
"F_MMUI_InFlea": "In Flea",
|
||||
"F_MMUI_RaidDetails": "Jugando como {0} en {1}\nTiempo: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Bienvenue sur Fika, le mod de coopération HORS LIGNE pour SPT.",
|
||||
"NDA free warning": "Pour créer/rejoindre une partie, vous devez sélectionner une carte puis utiliser la Liste des Serveurs dans le dernier menu.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "La progression de la quête partagée {1} a été reçue de {0}",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} a récupéré {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} a placé un objet pour {1}",
|
||||
"F_Client_ReceivePing": "Marqueur reçu de {0}",
|
||||
"F_Client_ReceivePingObject": "{0} a marqué {1}",
|
||||
"F_Client_RandomSpawnPoints": "Utiliser des points d'apparition aléatoires",
|
||||
"F_Client_MetabolismDisabled": "Métabolisme désactivé",
|
||||
"F_Client_YouAreMIA": "Vous êtes porté disparu au combat...",
|
||||
"F_Client_KilledBoss": "{0} a tué le boss {1}",
|
||||
"F_Client_GroupMemberSpawned": "Le coéquipier {0} est apparu",
|
||||
"F_Client_GroupMemberExtracted": "Le coéquipier {0} s'est extrait",
|
||||
"F_Client_GroupMemberDiedFrom": "Le coéquipier {0} est mort de {1}",
|
||||
"F_Client_GroupMemberDied": "Le coéquipier {0} est mort",
|
||||
"F_Client_ConnectedToServer": "Joueur connecté au serveur sur le port {0}",
|
||||
"F_Client_ServerStarted": "Serveur démarré sur le port {0}",
|
||||
"F_Client_CouldNotFindValidIP": "Impossible de trouver une IP locale valide !",
|
||||
"F_Client_ReconnectRequested": "Reconnexion demandée, ralentissements attendus...",
|
||||
"F_Client_PeerConnected": "Joueur connecté sur le port {0}",
|
||||
"F_Client_PeerDisconnected": "{0} s'est déconnecté. Info : {1}",
|
||||
"F_Client_ConnectingToSession": "Connexion à la session...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} ne peut pas être envoyé",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} contient {1} qui ne peut pas être envoyé",
|
||||
"F_Client_SavedProfile": "Profil {0} sauvegardé vers {1}",
|
||||
"F_Client_UnknownError": "Une erreur inconnue a été rencontrée, vérifiez le fichier de logs",
|
||||
"F_Client_HostCannotExtract": "Vous ne pouvez pas fermer le jeu tant que tous les joueurs ne sont pas déconnectés",
|
||||
"F_Client_HostCannotExtractMenu": "Vous ne pouvez pas vous déconnecter tant que des joueurs sont connectés ! Restants : {0}",
|
||||
"F_Client_Wait5Seconds": "Merci d'attendre 5 secondes après que le dernier joueur se soit déconnecté avant de quitter",
|
||||
"F_Client_StartingRaid": "Début du raid, veuillez patienter...",
|
||||
"F_Client_LostConnection": "Connexion à l'hôte perdue",
|
||||
"F_Client_StartingRaidOnDedicated": "Lancement d'un raid sur le client dédié... Merci de patienter",
|
||||
"F_SendItem_Header": "SÉLECTIONNER UN JOUEUR",
|
||||
"F_SendItem_SendButton": "ENVOYER",
|
||||
"F_MMUI_RaidsHeader": "RAIDS",
|
||||
"F_MMUI_HostRaidButton": "HÉBERGER UN RAID",
|
||||
"F_MMUI_JoinButton": "REJOINDRE",
|
||||
"F_MMUI_SelectAmountHeader": "SÉLECTIONNER LE MONTANT",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "Combien de joueurs (vous inclus) vont participer ?",
|
||||
"F_MMUI_UseDedicatedHost": "Utiliser un hôte dédié",
|
||||
"F_MMUI_StartButton": "DÉMARRER",
|
||||
"F_MMUI_LoadingScreenHeader": "CHARGEMENT",
|
||||
"F_MMUI_LoadingScreenDescription": "Veuillez patienter pendant l'initialisation du raid... Cela peut prendre un certain temps.",
|
||||
"F_MMUI_JoinAsSpectator": "Rejoindre comme spectateur",
|
||||
"F_UI_StartRaid": "Lancer le raid",
|
||||
"F_UI_StartRaidDescription": "Lance le raid\nLes nouveaux joueurs ne pourront plus rejoindre",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Impossible de rejoindre un raid dont la carte est différente.\nCarte du raid : {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Impossible de rejoindre un raid dont l'horaire est différent.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "Vous ne pouvez pas rejoindre un raid SCAV en tant que SMP.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "Vous ne pouvez pas rejoindre un raid SMP en tant que SCAV.",
|
||||
"F_UI_HostStillLoading": "L'hôte est toujours en cours de chargement.",
|
||||
"F_UI_RaidInProgress": "Un raid est déjà en cours.",
|
||||
"F_UI_ReJoinRaid": "Cliquer pour se reconnecter au raid.",
|
||||
"F_UI_CannotReJoinRaidDied": "Impossible de rejoindre un raid où vous êtes mort.",
|
||||
"F_UI_JoinRaid": "Cliquez pour rejoindre le raid.",
|
||||
"F_UI_ErrorConnecting": "ERREUR DE CONNEXION",
|
||||
"F_UI_UnableToConnect": "Connexion au serveur impossible. Vérifiez que tous les ports sont ouverts et que tout est configuré correctement.",
|
||||
"F_UI_FikaPingerFailStart": "Impossible de démarrer le FikaPinger!",
|
||||
"F_UI_RefreshRaids": "Actualiser la liste des raids actifs.",
|
||||
"F_UI_DedicatedError": "ERREUR FIKA INTERNE",
|
||||
"F_UI_ErrorForceIPHeader": "IMPOSSIBLE DE FORCER L'IP",
|
||||
"F_UI_ErrorForceIP": "'{0}' n'est pas une adresse IP de connexion valide ! Vérifiez le paramètre 'Force IP'.",
|
||||
"F_UI_ErrorBindIPHeader": "ERREUR AFFECTATION IP",
|
||||
"F_UI_ErrorBindIP": "'{0}' n'est pas une adresse IP valide ! Vérifiez le paramètre 'Force Bind IP'.",
|
||||
"F_UI_NoDedicatedClients": "Aucun client dédié n'est disponible.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "En attente de la fin de l'initialisation du raid par l'hôte...",
|
||||
"F_UI_WaitForOtherPlayers": "En attente du chargement des autres joueurs...",
|
||||
"F_UI_RetrieveSpawnInfo": "Récupération des informations d'apparitions depuis le serveur...",
|
||||
"F_UI_RetrieveLoot": "Récupération du butin depuis le serveur...",
|
||||
"F_UI_WaitForHostInit": "En attente de l'initialisation du raid par l'hôte...",
|
||||
"F_UI_Reconnecting": "Reconnexion...",
|
||||
"F_UI_RetrieveExfilData": "Récupération des données d'extraction depuis le serveur...",
|
||||
"F_UI_RetrieveInteractables": "Récupération des objets interactifs depuis le serveur...",
|
||||
"F_UI_InitCoopGame": "Initialisation de la partie coop...",
|
||||
"F_UI_AllPlayersJoined": "Tous les joueurs ont rejoint, démarrage de la partie...",
|
||||
"F_UI_WaitingForConnect": "En attente de la connexion du client au serveur... S'il n'y a pas de notification, ça aura échoué.",
|
||||
"F_UI_ErrorConnectingToRaid": "Impossible de se connecter au serveur. Vérifiez que les ports sont redirigés et/ou qu'UPnP est activé et supporté.",
|
||||
"F_UI_FinishingRaidInit": "Finalisation de l'initialisation du raid...",
|
||||
"F_UI_SyncThrowables": "Synchronisation des projectiles...",
|
||||
"F_UI_SyncInteractables": "Synchronisation des éléments interactifs...",
|
||||
"F_UI_SyncLampStates": "Synchronisation des lampes...",
|
||||
"F_UI_SyncWindows": "Synchronisation des fenêtres...",
|
||||
"F_UI_ReceiveOwnPlayer": "Réception du joueur local...",
|
||||
"F_UI_FinishReconnect": "Finalisation de la reconnexion...",
|
||||
"F_Client_FreeCamInputDisabled": "Contrôle de la caméra libre désactivé",
|
||||
"F_Client_FreeCamInputEnabled": "Contrôle de la caméra libre activé",
|
||||
"F_UI_WaitForPlayer": "En attente de {0} joueur",
|
||||
"F_UI_WaitForPlayers": "En attende de {0} joueurs",
|
||||
"F_UI_ToSLong": "Bienvenue sur Fika!\n\nFika est un mod pour SPT, vous permettant de jouer avec vos amis. Fika est et sera toujours gratuit, si vous avez payé pour l'obtenir, c'est une arnaque. Il n'est pas non plus autorisé d'heberger un serveur public avec monétisation ou dons.\n\nPatientez le temps que ce message disparaisse pour accepter nos conditions d'utilisation.\n\nVous pouvez rejoindre notre serveur Discord ici: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Bienvenue sur Fika!\n\nFika est un mod pour SPT, vous permettant de jouer avec vos amis. Fika est et sera toujours gratuit, si vous avez payé pour l'obtenir, c'est une arnaque. Il n'est pas non plus autorisé d'heberger un serveur public avec monétisation ou dons.\n\nVous pouvez rejoindre notre serveur Discord ici: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "Dans ce mode, vous pouvez jouer en co-op avec des amis sans le risque de rencontrer des joueurs.\\n Toutes les mécaniques de jeu dans le mode co-op (météo, bots, boss, etc.) sont identiques aux mécaniques en ligne.\\n Seulement les paramètres de l'hôte prendrons effet.",
|
||||
"F_UI_CoopGameMode": "Fika coopérative mode de jeu",
|
||||
"F_UI_CoopRaidSettings": "Paramètres pour les raids du mod coop Fika",
|
||||
"F_UI_FikaAlwaysCoop": "Coopérative est toujours activé dans Fika",
|
||||
"F_UI_UpnpFailed": "Échec du mappage UPnP. Vérifiez que le port sélectionné n'est pas déjà ouvert !\\nDésactivez UPnP si vous utilisez un VPN.",
|
||||
"F_UI_InitWeather": "Générer la météo...",
|
||||
"F_Notification_RaidStarted": "{0} a démarrer un raid sur {1}",
|
||||
"F_Notification_ItemReceived": "Vous avez reçu un {0} de {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "L'édition des paramètres du raid est désactivée par l'hôte du serveur",
|
||||
"F_UI_ExtractMessage": "Appuyez sur {0} pour vous extraire",
|
||||
"F_UI_DownloadProfile": "TÉLÉCHARGER LE PROFIL",
|
||||
"F_BepInEx_H_Advanced": "Avancé",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Coop | Nom de Plaques",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Coop | Partage de Quêtes",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Ping",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Débogage",
|
||||
"F_BepInEx_H_Performance": "Performance",
|
||||
"F_BepInEx_H_PerformanceBots": "Performance | Bots Max",
|
||||
"F_BepInEx_H_Network": "Réseau",
|
||||
"F_BepInEx_H_Gameplay": "Jouabilité",
|
||||
"F_BepInEx_OfficialVersion_T": "Version officielle",
|
||||
"F_BepInEx_OfficialVersion_D": "Afficher la version officielle au lieu de la version Fika.",
|
||||
"F_BepInEx_ShowFeed_T": "Afficher le flux",
|
||||
"F_BepInEx_ShowFeed_D": "Activer les notifications personnalisées lorsqu'un joueur meurt, s'extrait, tue un boss, etc.",
|
||||
"F_BepInEx_AutoExtract_T": "Extraction Automatique",
|
||||
"F_BepInEx_AutoExtract_D": "Extraction automatique après le compte à rebours d'extraction. En tant qu'hôte, cela ne fonctionnera que s'il n'y a pas de clients connectés.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Afficher le message d'extraction",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Afficher/Masquer le message d'extraction après la mort ou l'extraction.",
|
||||
"F_BepInEx_ExtractKey_T": "Touche pour l'extraction",
|
||||
"F_BepInEx_ExtractKey_D": "La touche utilisée pour extraire du raid.",
|
||||
"F_BepInEx_EnableChat_T": "Activer le chat",
|
||||
"F_BepInEx_EnableChat_D": "Activer/désactiver pour activer le chat dans le jeu. Ne peut pas être changé pendant le raid.",
|
||||
"F_BepInEx_ChatKey_T": "Touche de chat",
|
||||
"F_BepInEx_ChatKey_D": "La touche utilisée pour ouvrir la fenêtre de chat.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Afficher les Joueurs en ligne",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "Si le menu des joueurs en ligne doit être affiché dans le menu.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Échelle des joueurs en ligne",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "L'échelle de la fenêtre qui affiche les joueurs en ligne. Changer seulement si elle semble disproportionnée.\n\nNécessite une actualisation du menu principal pour prendre effet.",
|
||||
"F_BepInEx_UseNamePlates_T": "Afficher la plaque de nom des joueurs",
|
||||
"F_BepInEx_UseNamePlates_D": "Si les plaques de noms doivent être affichées au-dessus des coéquipiers.",
|
||||
"F_BepInEx_HideHealthBar_T": "Masquer la barre de vie",
|
||||
"F_BepInEx_HideHealthBar_D": "Masque complètement la barre de vie.",
|
||||
"F_BepInEx_UsePercent_T": "Afficher les PV% au lieu de la barre",
|
||||
"F_BepInEx_UsePercent_D": "Affiche la vie en % au lieu d'utiliser la barre.",
|
||||
"F_BepInEx_ShowEffects_T": "Afficher les effets",
|
||||
"F_BepInEx_ShowEffects_D": "Si les effets d'état doivent être affichés sous la barre de vie.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Afficher licône de faction du joueur",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Affiche l'icône de faction du joueur à côté de la barre de PV.",
|
||||
"F_BepInEx_HideInOptic_T": "Masquer la plaque de nom en optique",
|
||||
"F_BepInEx_HideInOptic_D": "Masque la plaque de nom lors de la visualisation à travers les viseurs PiP.",
|
||||
"F_BepInEx_OpticUseZoom_T": "Les Plaques de Nom utilisent le Zoom Optique",
|
||||
"F_BepInEx_OpticUseZoom_D": "Si l'emplacement de la plaque de nom doit être affiché à l'aide de la caméra optique PiP.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Diminuer lOpacité en Périphérie",
|
||||
"F_BepInEx_DecOpacPeri_D": "Diminue l'opacité des plaques de nom quand on ne regarde pas un joueur.",
|
||||
"F_BepInEx_NamePlateScale_T": "Échelle de Plaques de Nom",
|
||||
"F_BepInEx_NamePlateScale_D": "Taille des plaques de noms.",
|
||||
"F_BepInEx_AdsOpac_T": "Opacité dans la mire",
|
||||
"F_BepInEx_AdsOpac_D": "L'opacité des plaques de noms lorsque vous visez dans la mire.",
|
||||
"F_BepInEx_MaxDistance_T": "Distance daffichage maximale",
|
||||
"F_BepInEx_MaxDistance_D": "La distance maximale à laquelle les plaques de nom deviennent invisibles, commence à s'estomper à la moitié de la valeur entrée.",
|
||||
"F_BepInEx_MinOpac_T": "Opacité minimale",
|
||||
"F_BepInEx_MinOpac_D": "L'opacité minimale des plaques de nom.",
|
||||
"F_BepInEx_MinPlateScale_T": "Échelle minimale des Plaques de Nom",
|
||||
"F_BepInEx_MinPlateScale_D": "L'échelle minimale des plaques de nom.",
|
||||
"F_BepInEx_UseOcclusion_T": "Utiliser l'Occlusion",
|
||||
"F_BepInEx_UseOcclusion_D": "Utilisez l'occlusion pour masquer la plaque de nom lorsque le joueur est hors de vue.",
|
||||
"F_BepInEx_QuestTypes_T": "Types de quêtes",
|
||||
"F_BepInEx_QuestTypes_D": "Quels types de quêtes à recevoir et à envoyer. PlaceBeacon est à la fois marqueurs et objets.",
|
||||
"F_BepInEx_QSNotifications_T": "Afficher les Notifications",
|
||||
"F_BepInEx_QSNotifications_D": "Si une notification doit être affichée lorsque la progression de la quête est partagée.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Conditions délimination facile",
|
||||
"F_BepInEx_EasyKillConditions_D": "Permet des conditions faciles à tuer. Lorsque cette option est utilisée, chaque fois qu'un joueur ami tue quelque chose, Elle le traite comme si vous l'aviez tué pour vos quêtes tant que toutes les conditions sont remplies.\nCeci peut être incohérent et ne fonctionne pas toujours.",
|
||||
"F_BepInEx_SharedKillXP_T": "Expérience de Tuerie partagée",
|
||||
"F_BepInEx_SharedKillXP_D": "Si activé, vous recevrez ½ de l'expérience lorsqu'un joueur ami tue un ennemi (pas un boss).",
|
||||
"F_BepInEx_SharedBossXP_T": "Expérience de Boss partagé",
|
||||
"F_BepInEx_SharedBossXP_D": "Si activé, vous recevrez ½ de l'expérience lorsqu'un joueur ami tue un boss.",
|
||||
"F_BepInEx_PingSystem_T": "Système de Ping",
|
||||
"F_BepInEx_PingSystem_D": "Activer/désactiver le système de ping. Si activé, vous pouvez recevoir et envoyer des pings en appuyant sur la touche Ping.",
|
||||
"F_BepInEx_PingButton_T": "Bouton de Ping",
|
||||
"F_BepInEx_PingButton_D": "Bouton utilisé pour envoyer des pings.",
|
||||
"F_BepInEx_PingColor_T": "Couleur du Ping",
|
||||
"F_BepInEx_PingColor_D": "La couleur de vos pings lorsqu'ils sont affichés pour les autres joueurs.",
|
||||
"F_BepInEx_PingSize_T": "Taille du Ping",
|
||||
"F_BepInEx_PingSize_D": "Le multiplicateur de la taille du ping.",
|
||||
"F_BepInEx_PingTime_T": "Temps du ping",
|
||||
"F_BepInEx_PingTime_D": "Combien de temps les pings sont affichés.",
|
||||
"F_BepInEx_PingAnimation_T": "Jouer une animation de ping",
|
||||
"F_BepInEx_PingAnimation_D": "Joue automatiquement l'animation de pointage lors d'un ping. Peut interférer avec le gameplay.",
|
||||
"F_BepInEx_PingOptics_T": "Afficher le Ping en Optique",
|
||||
"F_BepInEx_PingOptics_D": "Si les pings doivent être affichés en visant dans une optique.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Le Ping utilise le Zoom Optique",
|
||||
"F_BepInEx_PingOpticZoom_D": "Si l'emplacement du ping doit être affiché en utilisant la caméra optique image dans l'image (PiP).",
|
||||
"F_BepInEx_PingScaleDistance_T": "Le Ping varie en fonction de la distance",
|
||||
"F_BepInEx_PingScaleDistance_D": "Si la taille du ping doit varier en fonction de la distance du joueur.",
|
||||
"F_BepInEx_PingMinOpac_T": "Opacité minimale du ping",
|
||||
"F_BepInEx_PingMinOpac_D": "L'opacité minimale des pings lorsque vous les regardez directement.",
|
||||
"F_BepInEx_PingRange_T": "Afficher la portée du ping",
|
||||
"F_BepInEx_PingRange_D": "Affiche la portée de votre joueur au ping si activé.",
|
||||
"F_BepInEx_PingSound_T": "Son du ping",
|
||||
"F_BepInEx_PingSound_D": "L'audio qui joue lors du ping",
|
||||
"F_BepInEx_FreeCamButton_T": "Bouton caméra libre",
|
||||
"F_BepInEx_FreeCamButton_D": "Bouton utilisé pour activer/désactiver la caméra libre.",
|
||||
"F_BepInEx_SpectateBots_T": "Autoriser les bots spectateurs",
|
||||
"F_BepInEx_SpectateBots_D": "Si nous devons autoriser les robots spectateurs lorsque tous les joueurs sont morts/extraits.",
|
||||
"F_BepInEx_AZERTYMode_T": "Mode AZERTY",
|
||||
"F_BepInEx_AZERTYMode_D": "Si la caméra libre doit utiliser les touches AZERTY pour le déplacement.",
|
||||
"F_BepInEx_DroneMode_T": "Mode Drone",
|
||||
"F_BepInEx_DroneMode_D": "Si la caméra libre doit se déplacer uniquement le long de l'axe vertical comme un drone.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Raccourci de l'Interface",
|
||||
"F_BepInEx_KeybindOverlay_D": "Si une superposition avec tous les raccourcis clavier de la caméra libre doit être affichée.",
|
||||
"F_BepInEx_DynamicAI_T": "IA Dynamique",
|
||||
"F_BepInEx_DynamicAI_D": "Utilisez le système IA dynamique, en désactivant l'IA quand elle est hors de portée de tous les joueurs.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Portée de IA dynamique",
|
||||
"F_BepInEx_DynamicAIRange_D": "La distance à laquelle l'IA sera désactivée dynamiquement.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Taux IA dynamique",
|
||||
"F_BepInEx_DynamicAIRate_D": "À quelle fréquence DynamicAI devrait rechercher la portée de tous les joueurs.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignore les snipers",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Si l'IA dynamique doit ignorer les scavs sniper.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Limites dapparition imposées",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Impose les limites d'apparition lors de l'apparition des bots, en s'assurant de ne pas dépasser les limites vanilla. Cela agit principalement lorsque vous utilisez des mods d'apparition ou tout ce qui modifie les limites de bots. Ne bloquera pas les spawn de bots spéciaux comme les boss.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Fait disparaitre le plus éloigné",
|
||||
"F_BepInEx_DespawnFurthest_D": "Lors de l'application des limites d'apparition, est-ce que le bot le plus éloigné devrait être dé-spawn au lieu de bloquer le spawn. Cela rendra le raid beaucoup plus dynamique avec nombre inférieur de Bots Max. Utile pour les PC peu puissants. Seulement les pmcs et les scavs disparaitrons. Si vous n'utilisez pas un mod d'apparition dynamique, cela épuisera cependant rapidement les spawn sur la carte, rendant le raid vraiment mort.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Distance minimum de disparition",
|
||||
"F_BepInEx_DespawnMinDistance_D": "La distance minimum pour faire disparaître un bot.",
|
||||
"F_BepInEx_MaxBots_T": "Bots Max {0}",
|
||||
"F_BepInEx_MaxBots_D": "Nombre maximum de bots qui peuvent être actifs en même temps sur {0}. Utile si vous avez un PC peu puissant. Réglez à 0 pour utiliser les limites vanilla. Ne peut pas être changé pendant un raid.",
|
||||
"F_BepInEx_NativeSockets_T": "Sockets natifs",
|
||||
"F_BepInEx_NativeSockets_D": "Utilise NativeSockets pour le trafic de jeu. Cela utilise des appels de socket directs en envoi/réception pour augmenter considérablement la vitesse et réduire la pression CG. Uniquement pour Windows/Linux et pourrait ne pas toujours fonctionner.",
|
||||
"F_BepInEx_ForceIP_T": "Forcer IP",
|
||||
"F_BepInEx_ForceIP_D": "Force le serveur lors de l'hébergement à utiliser cette adresse IP lors de la diffusion vers le backend au lieu d'essayer automatiquement de la récupérer. Laisser vide pour désactiver.",
|
||||
"F_BepInEx_ForceBindIP_T": "Forcer la liaison IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Force le serveur lors de l'hébergement à utiliser cet adaptateur local lors du démarrage du serveur. Utile si vous hébergez via VPN.",
|
||||
"F_BepInEx_UDPPort_T": "Port UDP",
|
||||
"F_BepInEx_UDPPort_D": "Port à utiliser pour les paquets de gameplay UDP.",
|
||||
"F_BepInEx_UseUPnP_T": "Utiliser UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Tente d'ouvrir des ports en utilisant UPnP. Utile si vous ne pouvez pas ouvrir des ports vous-même alors que le routeur supporte UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Utiliser la traversée NAT",
|
||||
"F_BepInEx_UseNatPunch_D": "Utilise la traversée NAT lorsque vous hébergez un raid. Ne fonctionne qu'avec les routeurs de type NAT fullcone et nécessite que NatPunchServer soit exécuté sur le serveur SPT. UPnP, Forcer IP et Forcer la connexion IP sont désactivés avec ce mode.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Délai de connexion dépassé",
|
||||
"F_BepInEx_ConnectionTimeout_D": "Combien de temps faut-il pour qu'une connexion soit considérée comme abandonnée si aucun paquet réseau n'est reçu.",
|
||||
"F_BepInEx_SendRate_T": "Taux denvoi",
|
||||
"F_BepInEx_SendRate_D": "Combien de fois par seconde les paquets de mouvement doivent être envoyés (plus faible = moins de bande passante utilisée, un peu plus de latence lors de l'interpolation)\nCeci affecte uniquement l'hôte et sera synchronisé avec tous les clients.\nLe montant est par seconde :\n\nTrès Bas = 10\nBas = 15\nMoyen = 20\nHaut = 30\n\nRecommandé de laisser au plus haut sur Moyen car les gains sont insignifiants après.",
|
||||
"F_BepInEx_SmoothingRate_T": "Taux de lissage",
|
||||
"F_BepInEx_SmoothingRate_D": "La simulation locale est en retard par (Débit d'envoi* Taux de lissage). Cela garantit que nous ayons toujours assez de snapshots dans le tampon pour atténuer les retards et le jitter lors de l'interpolation.\n\nBas = 1.5\nMoyenne = 2\nHaut = 2.5\n\nRéglez ceci sur \"Haut\" si le mouvement n'est pas fluide. Ne peut pas être changé pendant un raid.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Désactiver le métabolisme des bots",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Désactive le métabolisme des bots, les empêchant de mourir d'une perte d'énergie/hydratation lors de longs raids.",
|
||||
"F_MMUI_OnlinePlayers": "JOUEURS EN LIGNE : {0}",
|
||||
"F_MMUI_InMenu": "Dans le menu",
|
||||
"F_MMUI_InRaid": "En raid",
|
||||
"F_MMUI_InStash": "Dans la réserve",
|
||||
"F_MMUI_InHideout": "Dans la Planque",
|
||||
"F_MMUI_InFlea": "Dans le commerce",
|
||||
"F_MMUI_RaidDetails": "Jouer en tant que {0} sur {1}\nTemps : {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Willkommen bei Fika, der OFFLINE-Coop-Mod für SPT.",
|
||||
"NDA free warning": "Um eine Lobby zu eröffnen oder einer bestehenden beizutreten, wähle eine Lokation auf der Karte aus. Im letzten Menü wird dir eine Serverlobby-Übersicht angezeigt.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "Gemeinsamer Fortschritt für die Quest {1} von Spieler {0} erhalten",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} hat {1} aufgehoben",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} hat einen Gegenstand für die Quest {1} platziert",
|
||||
"F_Client_ReceivePing": "Sie haben eine Markierung von {0} erhalten",
|
||||
"F_Client_ReceivePingObject": "{0} hat {1} markiert",
|
||||
"F_Client_RandomSpawnPoints": "Zufällige Spawnpunkte werden verwendet",
|
||||
"F_Client_MetabolismDisabled": "Metabolismus deaktiviert",
|
||||
"F_Client_YouAreMIA": "Du hast es nicht zurückgeschafft...",
|
||||
"F_Client_KilledBoss": "{0} hat Boss {1} getötet",
|
||||
"F_Client_GroupMemberSpawned": "Gruppenmitglied {0} ist gespawnt",
|
||||
"F_Client_GroupMemberExtracted": "Gruppenmitglied {0} ist extrahiert",
|
||||
"F_Client_GroupMemberDiedFrom": "Gruppenmitglied {0} ist an {1} gestorben",
|
||||
"F_Client_GroupMemberDied": "Gruppenmitglied {0} ist gestorben",
|
||||
"F_Client_ConnectedToServer": "Mit Server verbunden auf Port {0}",
|
||||
"F_Client_ServerStarted": "Server gestartet auf Port {0}",
|
||||
"F_Client_CouldNotFindValidIP": "Keine gültige lokale IP-Addresse gefunden!",
|
||||
"F_Client_ReconnectRequested": "Wiederverbindung wurde angefordert, rechne mit Rucklern...",
|
||||
"F_Client_PeerConnected": "Spieler hat die Verbindung mit dem Server über den Port {0} hergestellt",
|
||||
"F_Client_PeerDisconnected": "{0} hat die Verbindung getrennt, Info: {1}",
|
||||
"F_Client_ConnectingToSession": "Verbinde mit Sitzung...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} darf nicht versendet werden",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} enthält {1}, was nicht gesendet werden darf",
|
||||
"F_Client_SavedProfile": "Profil {0} wurde gespeichert in {1}",
|
||||
"F_Client_UnknownError": "Ein unbekannter Fehler ist aufgetreten, überprüfe die Log-Datei",
|
||||
"F_Client_HostCannotExtract": "Du kannst das Spiel erst verlassen, wenn alle Spieler die Verbindung getrennt haben",
|
||||
"F_Client_HostCannotExtractMenu": "Du kannst die Verbindung nicht unterbrechen, solange nach andere Spieler verbunden sind! Verbleibend: {0}",
|
||||
"F_Client_Wait5Seconds": "Bitte warte mindestens 5 Sekunden nachdem der letzte Spieler das Spiel verlassen hast, bevor du das Spiel verlässt",
|
||||
"F_Client_StartingRaid": "Raid wird gestartet, bitte warten...",
|
||||
"F_Client_LostConnection": "Verbindung zum Host verloren",
|
||||
"F_Client_StartingRaidOnDedicated": "Starte Raid auf dediziertem Client... bitte warten",
|
||||
"F_SendItem_Header": "SPIELER AUSWÄHLEN",
|
||||
"F_SendItem_SendButton": "ABSCHICKEN",
|
||||
"F_MMUI_RaidsHeader": "RAIDS",
|
||||
"F_MMUI_HostRaidButton": "RAID HOSTEN",
|
||||
"F_MMUI_JoinButton": "BEITRETEN",
|
||||
"F_MMUI_SelectAmountHeader": "ANZAHL AUSWÄHLEN",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "Wie viele Spieler (inklusive dir) werden spielen?",
|
||||
"F_MMUI_UseDedicatedHost": "Dedizierten Host benutzen",
|
||||
"F_MMUI_StartButton": "START",
|
||||
"F_MMUI_LoadingScreenHeader": "LADEN",
|
||||
"F_MMUI_LoadingScreenDescription": "Bitte warten, während der Raid initialisiert wird... dies könnte eine Weile dauern.",
|
||||
"F_MMUI_JoinAsSpectator": "Als Zuschauer beitreten",
|
||||
"F_UI_StartRaid": "Starte Raid",
|
||||
"F_UI_StartRaidDescription": "Starte den Raid\nneue Spieler können nicht mehr joinen",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Du kannst keinem Raid beitreten, der sich auf einer anderen Karte befindet.\nDer Raid befindet sich auf Karte: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Kann keinem Raid beitreten, der zu einer anderen Tageszeit stattfindet.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "Du kannst als PMC keinem Scav Raid beitreten.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "Du kannst als Scav keinem PMC Raid beitreten.",
|
||||
"F_UI_HostStillLoading": "Der Host lädt noch.",
|
||||
"F_UI_RaidInProgress": "Der Raid hat bereits begonnen.",
|
||||
"F_UI_ReJoinRaid": "Hier drücken, um dem Raid wieder beizutreten.",
|
||||
"F_UI_CannotReJoinRaidDied": "Du kannst keinem Raid wieder beitreten, in dem du bereits gestorben bist.",
|
||||
"F_UI_JoinRaid": "Hier drücken, um dem Raid beizutreten.",
|
||||
"F_UI_ErrorConnecting": "VERBINDUNGSFEHLER",
|
||||
"F_UI_UnableToConnect": "Verbindung zum Server konnte nicht hergestellt werden. Stelle sicher, dass alle Ports geöffnet sind und dass alle Einstellungen korrekt sind.",
|
||||
"F_UI_FikaPingerFailStart": "Konnte FikaPinger nicht starten!",
|
||||
"F_UI_RefreshRaids": "Aktualisiere Liste für aktive Raids.",
|
||||
"F_UI_DedicatedError": "FIKA DEDICATED ERROR",
|
||||
"F_UI_ErrorForceIPHeader": "Fehler bei erzwungener IP-Adresse",
|
||||
"F_UI_ErrorForceIP": "'{0}' ist keine gültige IP-Adresse, mit der du dich verbinden kannst! Überprüfe die 'Force IP'-Einstellung.",
|
||||
"F_UI_ErrorBindIPHeader": "Fehler beim IP Binding",
|
||||
"F_UI_ErrorBindIP": "'{0}' ist keine gültige IP-Adresse zum BINDING! Überprüfe die 'Force Bind IP'-Einstellung.",
|
||||
"F_UI_NoDedicatedClients": "Keine dedizierten Clients verfügbar.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "Warte darauf, dass der Host die Initialisierung des Raids vollendet...",
|
||||
"F_UI_WaitForOtherPlayers": "Warte darauf, dass andere Spieler das Laden beendet haben...",
|
||||
"F_UI_RetrieveSpawnInfo": "Spawn-Info wird vom Server abgerufen...",
|
||||
"F_UI_RetrieveLoot": "Loot wird vom Server abgerufen...",
|
||||
"F_UI_WaitForHostInit": "Warte darauf, dass der Host den Raid initialisiert...",
|
||||
"F_UI_Reconnecting": "Verbinde erneut...",
|
||||
"F_UI_RetrieveExfilData": "Exfiltrationsdaten werden vom Server abgerufen...",
|
||||
"F_UI_RetrieveInteractables": "Interagierbare Objekte werden vom Server abgerufen...",
|
||||
"F_UI_InitCoopGame": "Initialisiere Coop Spiel...",
|
||||
"F_UI_AllPlayersJoined": "Alle Spieler verbunden, starte Spiel...",
|
||||
"F_UI_WaitingForConnect": "Warte darauf, dass sich Clients mit dem Server verbinden... Wenn es keine Benachrichtigung gibt, ist dies fehlgeschlagen.",
|
||||
"F_UI_ErrorConnectingToRaid": "Verbindung zum Raid Server nicht möglich. Stelle sicher, dass die Ports geöffnet sind und/oder UPnP aktiviert ist und unterstützt wird.",
|
||||
"F_UI_FinishingRaidInit": "Raid-Initialisierung wird vollendet...",
|
||||
"F_UI_SyncThrowables": "Synchronisiere Wurfgegenstände...",
|
||||
"F_UI_SyncInteractables": "Synchronisiere interagierbare Objekte...",
|
||||
"F_UI_SyncLampStates": "Synchronisiere Lampen...",
|
||||
"F_UI_SyncWindows": "Synchronisiere Fenster...",
|
||||
"F_UI_ReceiveOwnPlayer": "Empfange eigenen Spieler...",
|
||||
"F_UI_FinishReconnect": "Erneutes Verbinden wird fertiggestellt...",
|
||||
"F_Client_FreeCamInputDisabled": "Freie Kamera Eingaben deaktiviert",
|
||||
"F_Client_FreeCamInputEnabled": "Freie Kamera Eingaben aktiviert",
|
||||
"F_UI_WaitForPlayer": "Warte auf {0} Spieler",
|
||||
"F_UI_WaitForPlayers": "Warte auf {0} Spieler",
|
||||
"F_UI_ToSLong": "Willkommen bei Fika! \n\nFika ist ein Coop-Mod für SPT, mit dem Du mit deinen Freunden spielen kannst. Fika ist und wird immer kostenlos sein, wenn Du dafür bezahlt hast, dann wurdest Du betrogen. Es ist Dir nicht gestattet, öffentliche Server mit Monetarisierung oder Spenden zu betreiben.\n\nWarte, bis diese Meldung ausgeblendet wird, um unsere Nutzungsbedingungen zu akzeptieren.\n\n Du kannst unserem Discord hier beitreten: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Willkommen bei Fika! \n\nFika ist ein Coop-Mod für SPT, mit dem Du mit deinen Freunden spielen kannst. Fika ist und wird immer kostenlos sein, wenn Du dafür bezahlt hast, dann wurdest Du betrogen. Es ist Dir nicht gestattet, öffentliche Server mit Monetarisierung oder Spenden zu betreiben.\n\n Du kannst unserem Discord hier beitreten: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "In diesem Modus kannst du online co-op mit deinen Freunden spielen, ohne das Risiko auf andere zu treffen.\\nAlle Spielmechaniken im co-op Modus (Wetter, Bots, Bosse, etc.) sind identisch mit den online Mechaniken.\\nNur die Einstellungen des Hosts werden übernommen.",
|
||||
"F_UI_CoopGameMode": "Fika Co-op Spielmodus",
|
||||
"F_UI_CoopRaidSettings": "Fika Co-op Raid Einstellungen",
|
||||
"F_UI_FikaAlwaysCoop": "Fika ist immer im Co-op Modus",
|
||||
"F_UI_UpnpFailed": "UPnP Mapping fehlgeschlagen. Stelle sicher, dass der ausgewählte Port nicht bereits offen ist!\nDeaktiviere UPnP wenn du ein VPN benutzt.",
|
||||
"F_UI_InitWeather": "Wetter wird generiert...",
|
||||
"F_Notification_RaidStarted": "{0} hat einen Raid auf {1} gestartet",
|
||||
"F_Notification_ItemReceived": "Du hast eine {0} von {1} erhalten",
|
||||
"F_Notification_RaidSettingsDisabled": "Das Bearbeiten von Raid-Einstellungen ist vom Serverhost deaktiviert",
|
||||
"F_UI_ExtractMessage": "Drücke {0} zum Extrahieren",
|
||||
"F_UI_DownloadProfile": "Lade Profil herunter",
|
||||
"F_BepInEx_H_Advanced": "Erweitert",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Coop | Namensplaketten",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Coop | Teilen von Quests",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Pingen",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Debuggen",
|
||||
"F_BepInEx_H_Performance": "Leistung",
|
||||
"F_BepInEx_H_PerformanceBots": "Leistung | Max Bots",
|
||||
"F_BepInEx_H_Network": "Netzwerk",
|
||||
"F_BepInEx_H_Gameplay": "Gameplay",
|
||||
"F_BepInEx_OfficialVersion_T": "Offizielle Version",
|
||||
"F_BepInEx_OfficialVersion_D": "Zeige die offizielle Version anstelle der Fika-Version.",
|
||||
"F_BepInEx_ShowFeed_T": "Feed anzeigen",
|
||||
"F_BepInEx_ShowFeed_D": "Aktiviere benutzerdefinierte Benachrichtigungen, wenn ein Spieler stirbt, extractet, einen Boss tötet, etc.",
|
||||
"F_BepInEx_AutoExtract_T": "Auto Extract",
|
||||
"F_BepInEx_AutoExtract_D": "Automatischer Extract nach dem Countdown. Als Host funktioniert dies nur, wenn keine Clients verbunden sind.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Zeige Extract-Nachricht",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Gibt an, ob die Extract-Nachricht nach dem Sterben/Extracten angezeigt werden soll.",
|
||||
"F_BepInEx_ExtractKey_T": "Extract Taste",
|
||||
"F_BepInEx_ExtractKey_D": "Die Taste um aus dem Raid zu Extracten.",
|
||||
"F_BepInEx_EnableChat_T": "Chat aktivieren",
|
||||
"F_BepInEx_EnableChat_D": "Umschalten, um den Chat im Spiel zu aktivieren. Kann nicht im Raid geändert werden.",
|
||||
"F_BepInEx_ChatKey_T": "Chat Taste",
|
||||
"F_BepInEx_ChatKey_D": "Die Taste zum Öffnen des Chatfensters.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Online-Spieler anzeigen",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "Zeige das Spieler Online Menü im Hauptmenü.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Spieler Online Skalierung",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "Die Skalierung des Fensters, das Online-Spieler anzeigt. Nur ändern, wenn sie unverhältnismäßig aussieht.\n\nErfordert ein Neuladen des Hauptmenüs, um wirksam zu werden.",
|
||||
"F_BepInEx_UseNamePlates_T": "Spieler Namensplaketten anzeigen",
|
||||
"F_BepInEx_UseNamePlates_D": "Namensplaketten über Teammitgliedern anzeigen.",
|
||||
"F_BepInEx_HideHealthBar_T": "Gesundheitsbalken ausblenden",
|
||||
"F_BepInEx_HideHealthBar_D": "Versteckt den Gesundheitsbalken komplett.",
|
||||
"F_BepInEx_UsePercent_T": "Zeige HP% anstelle von Balken",
|
||||
"F_BepInEx_UsePercent_D": "Zeigt die Gesundheit in % an, anstatt die Balken zu verwenden.",
|
||||
"F_BepInEx_ShowEffects_T": "Effekte anzeigen",
|
||||
"F_BepInEx_ShowEffects_D": "Falls Statuseffekte unterhalb der Gesundheitsleiste angezeigt werden sollen.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Spieler-Fraktionssymbol anzeigen",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Zeigt das Fraktionssymbol des Spielers neben dem HP-Balken.",
|
||||
"F_BepInEx_HideInOptic_T": "Namensschild im Zielfernrohr ausblenden",
|
||||
"F_BepInEx_HideInOptic_D": "Versteckt die Namensschilder beim Blick durch Zielfernrohre.",
|
||||
"F_BepInEx_OpticUseZoom_T": "Namensschilder verwenden optischen Zoom",
|
||||
"F_BepInEx_OpticUseZoom_D": "Namensplaketten Position beim Zoom durch Zielfernrohre anzeigen.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Deckkraft im Peripheriebereich verringern",
|
||||
"F_BepInEx_DecOpacPeri_D": "Verringert die Deckkraft der Namensplaketten, wenn du Spieler nicht ansiehst.",
|
||||
"F_BepInEx_NamePlateScale_T": "Skalierung der Namensplaketten",
|
||||
"F_BepInEx_NamePlateScale_D": "Größe der Namensplaketten.",
|
||||
"F_BepInEx_AdsOpac_T": "Deckkraft in ADS",
|
||||
"F_BepInEx_AdsOpac_D": "Die Deckkraft der Namensplaketten beim Zielen.",
|
||||
"F_BepInEx_MaxDistance_T": "Maximale Entfernung zum Anzeigen",
|
||||
"F_BepInEx_MaxDistance_D": "Die maximale Distanz, ab welcher Namensplaketten unsichtbar werden, beginnt ab der Hälfte des Eingabewertes zu verschwinden.",
|
||||
"F_BepInEx_MinOpac_T": "Minimale Transparenz",
|
||||
"F_BepInEx_MinOpac_D": "Die minimale Transparenz der Namensplaketten.",
|
||||
"F_BepInEx_MinPlateScale_T": "Minimale Namensplaketten-Skalierung",
|
||||
"F_BepInEx_MinPlateScale_D": "Die minimale Skalierung der Namensplaketten.",
|
||||
"F_BepInEx_UseOcclusion_T": "Occlusion verwenden",
|
||||
"F_BepInEx_UseOcclusion_D": "Verwende Verdeckung, um das Namensschild auszublenden, wenn der Spieler außerhalb des Sichtfelds ist.",
|
||||
"F_BepInEx_QuestTypes_T": "Quest-Typen",
|
||||
"F_BepInEx_QuestTypes_D": "Welche AufgabenTypen sollen empfangen und gesendet werden. Platzierungen gelten für beides, Markierer und Gegenstände.",
|
||||
"F_BepInEx_QSNotifications_T": "Benachrichtigungen anzeigen",
|
||||
"F_BepInEx_QSNotifications_D": "Soll eine Benachrichtigung angezeigt werden, wenn Aufgabenfortschritt mit dir geteilt wurde.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Leichte Kill Bedingungen",
|
||||
"F_BepInEx_EasyKillConditions_D": "Schaltet \"Leichte Kill Bedingungen\" ein. Wenn dies genutzt wird, zählt jede Tötung eines befreundeten Spielers so als ob du selbst die Tötung gemacht hast, solange alle Bedingungen erfüllt sind.\nDies kann manchmal inkonsistent sein und funktioniert nicht immer.",
|
||||
"F_BepInEx_SharedKillXP_T": "Geteilte Kill-Erfahrung",
|
||||
"F_BepInEx_SharedKillXP_D": "Wenn dies eingeschaltet ist, bekommst du die ½ der Erfahrungspunkte, wenn ein befreundeter Spieler einen Gegner tötet (zählt nicht für Bosse).",
|
||||
"F_BepInEx_SharedBossXP_T": "Geteilte Boss-Kill-Erfahrung",
|
||||
"F_BepInEx_SharedBossXP_D": "Wenn dies eingeschaltet ist, dann bekommst du die ½ der Erfahrung, wenn ein befreundeter Spieler einen Boss tötet.",
|
||||
"F_BepInEx_PingSystem_T": "Ping System",
|
||||
"F_BepInEx_PingSystem_D": "Schalter für das Ping System. Wenn angeschaltet kannst du Pings empfangen und senden, sofern du den Ping Knopf drückst.",
|
||||
"F_BepInEx_PingButton_T": "Ping-Taste",
|
||||
"F_BepInEx_PingButton_D": "Taste zum Senden von Pings.",
|
||||
"F_BepInEx_PingColor_T": "Ping Farbe",
|
||||
"F_BepInEx_PingColor_D": "Die Farbe deiner Pings, wenn sie für andere Spieler angezeigt werden.",
|
||||
"F_BepInEx_PingSize_T": "Ping-Größe",
|
||||
"F_BepInEx_PingSize_D": "Der Multiplikator der Ping-Größe.",
|
||||
"F_BepInEx_PingTime_T": "Ping-Zeit",
|
||||
"F_BepInEx_PingTime_D": "Wie lange Pings angezeigt werden sollen.",
|
||||
"F_BepInEx_PingAnimation_T": "Ping-Animation abspielen",
|
||||
"F_BepInEx_PingAnimation_D": "Spielt die Zeigeanimation automatisch beim Pingen ab. Kann das Spiel beeinträchtigen.",
|
||||
"F_BepInEx_PingOptics_T": "Ping während des Anvisierens anzeigen",
|
||||
"F_BepInEx_PingOptics_D": "Ob Pings während des Zielens durch ein Zielfernrohr angezeigt werden sollen.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Ping benutzt den optischen Zoom",
|
||||
"F_BepInEx_PingOpticZoom_D": "Wenn der Ping-Standort mit der optischen PIP Kamera angezeigt werden soll.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Ping skaliert mit der Distanz",
|
||||
"F_BepInEx_PingScaleDistance_D": "Ob die Ping Größe skalieren soll mit der Distanz vom Spieler.",
|
||||
"F_BepInEx_PingMinOpac_T": "Minimale Ping Deckkraft",
|
||||
"F_BepInEx_PingMinOpac_D": "Die minimale Deckkraft von Pings, wenn man diese direkt ansieht.",
|
||||
"F_BepInEx_PingRange_T": "Zeige Ping Entfernung",
|
||||
"F_BepInEx_PingRange_D": "Zeigt den Abstand von deinem Spieler bis zum Ping, falls eingeschaltet.",
|
||||
"F_BepInEx_PingSound_T": "Ping Sound",
|
||||
"F_BepInEx_PingSound_D": "Der Ton der gespielt wird, wenn ein Ping geschieht",
|
||||
"F_BepInEx_FreeCamButton_T": "Freie Kamera Knopf",
|
||||
"F_BepInEx_FreeCamButton_D": "Knopf um die Freie Kamera umzuschalten.",
|
||||
"F_BepInEx_SpectateBots_T": "Erlaubt es Bots zu beobachten",
|
||||
"F_BepInEx_SpectateBots_D": "Soll es erlaubt sein Bots zu beobachten, wenn alle anderen Spieler tot/extrahiert sind.",
|
||||
"F_BepInEx_AZERTYMode_T": "AZERTY Modus",
|
||||
"F_BepInEx_AZERTYMode_D": "Wenn die freie Kamera die Tasten AZERTY als Eingabe nutzen soll.",
|
||||
"F_BepInEx_DroneMode_T": "Drohnen-Modus",
|
||||
"F_BepInEx_DroneMode_D": "Ob die \"freie Kamera\" nur innerhalb der vertikalen Achsen bewegt werden darf, wie eine Drohne.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Tastenzuweisung Overlay",
|
||||
"F_BepInEx_KeybindOverlay_D": "Ob ein Overlay mit allen \"freie Kamera\" Tastaturzuweisungen angezeigt werden soll.",
|
||||
"F_BepInEx_DynamicAI_T": "Dynamische KI",
|
||||
"F_BepInEx_DynamicAI_D": "Nutze das dynamische KI-System, welches KI deaktiviert, sollte sich diese außerhalb der Reichweite der Spielenden befinden.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Reichweite der dynamischen KI",
|
||||
"F_BepInEx_DynamicAIRange_D": "Die Reichweite, in der die KI dynamisch deaktiviert wird.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Dynamische AI Rate",
|
||||
"F_BepInEx_DynamicAIRate_D": "Frequenz, in der die DynamicAI nach der Reichweite aller Spieler suchen soll.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignoriere Scharfschützen",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Ob Sniper Scavs von der dynamische AI ignoriert werden sollen.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Erzwinge Spawn Limitierungen",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Erzwingt Spawn Limitierungen, wenn Bots spawnen. Stelle sicher, dass du nicht oberhalb der Vanilla Limitierungen bist. Diese Einstellung wird hauptsächlich Effekte haben wenn du Spawn Modifikationen benutzt. Blockiert keine speziellen Bots wie Bosse.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Despawn am weitesten entfernt",
|
||||
"F_BepInEx_DespawnFurthest_D": "Wenn Spawn Limitierungen erzwungen sind sollte der am weitesten entfernte Bot entfernt werden, anstatt den Spawn eines neuen Bots zu blockieren. Dies sorgt für aktivere Raids mit niedriger Maximalen Bot Anzahl. Nützlich für schwächere PCs. Entfernt nur PMCs und Scavs. Falls du keine dynamische Spawn Mod benutzt wird diese Einstellung die Spawns auf der Map sehr schnell aufbrauchen und die Raids leer anfühlen.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Despawn Minimum Distanz",
|
||||
"F_BepInEx_DespawnMinDistance_D": "Minimale Distanz um einen Bot zu entfernen.",
|
||||
"F_BepInEx_MaxBots_T": "Maximale Bots {0}",
|
||||
"F_BepInEx_MaxBots_D": "Maximale Anzahl an Bots die zur selben Zeit aktiv sein können auf {0}. Nützlich falls du einen schwächeren PC hast. Setze es auf 0 um die Vanilla Limitierungen zu nutzen. Kann nicht innerhalb eines Raids geändert werden.",
|
||||
"F_BepInEx_NativeSockets_T": "Native Sockets",
|
||||
"F_BepInEx_NativeSockets_D": "Benutze NativeSockets für Spieldatenverkehr. Diese Einstellung benutzt direkte Socket Aufrufe für das senden/empfangen um die Geschwindigkeit drastisch zu erhöhen und den GC Druck zu reduzieren. Nur für Windows/Linux und funktioniert möglicherweise nicht immer.",
|
||||
"F_BepInEx_ForceIP_T": "Force IP",
|
||||
"F_BepInEx_ForceIP_D": "Erzwingt den Server, wenn ein Spiel gehostet wird, diese IP zu nutzen wenn ein Broadcast zum Backend gemacht wird, anstatt die IP automatisch zu holen. Leer lassen um es zu deaktivieren.",
|
||||
"F_BepInEx_ForceBindIP_T": "Force Bind IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Erzwingt den Server, wenn ein Spiel gehostet wird, diesen lokalen Netzwerkadapter zu nutzen, wenn der Server gestartet wird. Nützlich wenn du über VPN spielst.",
|
||||
"F_BepInEx_UDPPort_T": "UDP Port",
|
||||
"F_BepInEx_UDPPort_D": "Zu benutzender Port für UDP Spiel Pakete.",
|
||||
"F_BepInEx_UseUPnP_T": "Benutze UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Versuch, Ports mit UPnP zu öffnen. Nützlich, wenn Du selbst keine Ports öffnen kannst, aber der Router UPnP unterstützt.",
|
||||
"F_BepInEx_UseNatPunch_T": "Benutze NAT Punching",
|
||||
"F_BepInEx_UseNatPunch_D": "Benutze NAT-Punching beim Hosten eines Raids. Funktioniert nur mit Fullcone NAT Routern und erfordert, dass NatPunchServer auf dem SPT Server läuft. UPnP, erzwungene IP und erzwungene Bind IP sind in diesem Modus deaktiviert.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Verbindungsauszeit",
|
||||
"F_BepInEx_ConnectionTimeout_D": "Wie lange es dauert, bis eine Verbindung als abgebrochen betrachtet wird, wenn keine Pakete empfangen werden.",
|
||||
"F_BepInEx_SendRate_T": "Senderate",
|
||||
"F_BepInEx_SendRate_D": "Wie oft pro Sekunde Bewegungspakete gesendet werden sollen (niedriger = weniger Bandbreite, führt zu geringfügig mehr Verzögerung während der Interpolation)\nDies betrifft nur den Host und wird mit allen Clients synchronisiert.\nBetrag ist pro Sekunde:\n\nSehr niedrig = 10\nNiedrig = 15\nMittel = 20\nHigh = 30\n\nEmpfohlen nicht höher als Mittel zu lassen, da die Zuwächse danach unbedeutend sind.",
|
||||
"F_BepInEx_SmoothingRate_T": "Glättungsrate",
|
||||
"F_BepInEx_SmoothingRate_D": "Lokale Simulation liegt hinter der Formel (Send Rate * Smoothing Rate). Dies garantiert, dass wir immer genug Schnappschüsse im Puffer haben, um Verzögerungen und Jitter während der Interpolation zu lindern.\n\nNiedrig = 1,5\nMittel = 2\nHoch = 2,5\n\nSetze dies auf \"Hoch\", wenn die Bewegung nicht glatt ist. Kann während eines Raids nicht geändert werden.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Bot Metabolismus deaktivieren",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Deaktiviert den Metabolismus an Bots. Verhindert das Bots aufgrund von Energie-/Wassermangel in längeren Raids sterben.",
|
||||
"F_MMUI_OnlinePlayers": "ONLINE-SPIELER: {0}",
|
||||
"F_MMUI_InMenu": "Im Menü",
|
||||
"F_MMUI_InRaid": "Im Raid",
|
||||
"F_MMUI_InStash": "Im Stash",
|
||||
"F_MMUI_InHideout": "Im Versteck",
|
||||
"F_MMUI_InFlea": "Im Flohmarkt",
|
||||
"F_MMUI_RaidDetails": "Spielt als {0} auf {1}\nZeit: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "\"Üdvözlünk a FIKA spt többjátékos modjában\".",
|
||||
"NDA free warning": "\"Egy játék fogadásához/csatlakozásához ki kell választania egy pályát, és az utolsó képernyőre kell lépnie a szerverböngésző használatához\".",
|
||||
"F_Client_ReceivedSharedQuestProgress": "\"Megosztott küldetés előrehaladás érkezett tőle: {0} a {1} küldetéshez\"",
|
||||
"F_Client_ReceivedSharedItemPickup": "\"{0} felvette: {1}\"",
|
||||
"F_Client_ReceivedSharedItemPlant": "\"{0} elhelyezett egy elemet {1} számára\"",
|
||||
"F_Client_ReceivePing": "\"Ping érkezett tőle: {0}\"",
|
||||
"F_Client_ReceivePingObject": "\"{0} megjelölte a következőt: {1}\"",
|
||||
"F_Client_RandomSpawnPoints": "Véletlenszerű spawn pontok használata",
|
||||
"F_Client_MetabolismDisabled": "Metabolizmus kikapcsolva",
|
||||
"F_Client_YouAreMIA": "Eltűntél akció közben...",
|
||||
"F_Client_KilledBoss": "{0} megölte {1} -t",
|
||||
"F_Client_GroupMemberSpawned": "{0} csapattárs lespawnolt",
|
||||
"F_Client_GroupMemberExtracted": "Csapattársad {0} sikeresen kijutott",
|
||||
"F_Client_GroupMemberDiedFrom": "{0} Csapattárs meghalt emiatt: {1}",
|
||||
"F_Client_GroupMemberDied": "Csapattársad {0} meghalt ",
|
||||
"F_Client_ConnectedToServer": "Csatlakoztál a szerverhez ezen a porton: {0}",
|
||||
"F_Client_ServerStarted": "A szerver elindult ezen a porton: {0}",
|
||||
"F_Client_CouldNotFindValidIP": "Nem található érvényes helyi IP!",
|
||||
"F_Client_ReconnectRequested": "Újracsatlakozás kérve, akadozás várható...",
|
||||
"F_Client_PeerConnected": "Peer csatlakozik a szerverhez az {0} porton",
|
||||
"F_Client_PeerDisconnected": "Társ kapcsolat megszakítva: {0}, információ: {1}",
|
||||
"F_Client_ConnectingToSession": "Csatlakozás a játékhoz...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} a tiltólistán van a küldéstől",
|
||||
"F_Client_ItemsContainsBlacklisted": "A {0} tartalmazza a {1} elemet, amely tiltólistán van az elküldéstől",
|
||||
"F_Client_SavedProfile": "A(z) {0} profil mentve ide: {1}",
|
||||
"F_Client_UnknownError": "Ismeretlen kivétel történt, ellenőrizze a log fájlt",
|
||||
"F_Client_HostCannotExtract": "Addig nem léphetsz ki a játékból, amíg az összes kliens ki nem lép",
|
||||
"F_Client_HostCannotExtractMenu": "Nem bonthatja le a kapcsolatot, amíg továbbra is csatlakoznak társak! Hátralévő: {0}",
|
||||
"F_Client_Wait5Seconds": "Kérem, várjon legalább 5 másodpercet az utolsó társ kilépése után, mielőtt elhagyná a játékot",
|
||||
"F_Client_StartingRaid": "Raid indítása, kérem várjon...",
|
||||
"F_Client_LostConnection": "Kapcsolat megszakadt a hosttal",
|
||||
"F_Client_StartingRaidOnDedicated": "Raid indítása dedikált kliensen... kérem, várjon",
|
||||
"F_SendItem_Header": "VÁLASSZON JÁTÉKOST",
|
||||
"F_SendItem_SendButton": "KÜLDÉS",
|
||||
"F_MMUI_RaidsHeader": "RAIDEK",
|
||||
"F_MMUI_HostRaidButton": "RAID LÉTREHOZÁSA",
|
||||
"F_MMUI_JoinButton": "CSATLAKOZÁS",
|
||||
"F_MMUI_SelectAmountHeader": "ÖSSZEG KIVÁLASZTÁSA",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "Hány ember fog játszani (beleértve téged is)?",
|
||||
"F_MMUI_UseDedicatedHost": "Dedicated Host használata",
|
||||
"F_MMUI_StartButton": "INDITÁS",
|
||||
"F_MMUI_LoadingScreenHeader": "BETÖLTÉS",
|
||||
"F_MMUI_LoadingScreenDescription": "Kérjük, várjon, amíg a raid betölt... ez eltarthat egy ideig.",
|
||||
"F_MMUI_JoinAsSpectator": "Csatlakozás nézőként",
|
||||
"F_UI_StartRaid": "Raid kezdése",
|
||||
"F_UI_StartRaidDescription": "Raid elkezdése, új játékosok nem fognak tudni csatlakozni",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Nem lehet csatlakozni egy másik pályán lévő raidhez.\nRaid pálya: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Nem lehet csatlakozni egy olyan raidhez, amely más időn van.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "Nem csatlakozhatsz scav raid-hez PMC-ként.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "Nem tudsz PMC Raid-re scavként csatlakozni.",
|
||||
"F_UI_HostStillLoading": "A Hostnak még be kell töltenie.",
|
||||
"F_UI_RaidInProgress": "A raid már folyamatban van, nem tudsz csatlakozni.",
|
||||
"F_UI_ReJoinRaid": "Kattints ide a raidbe való újracsatlakozáshoz.",
|
||||
"F_UI_CannotReJoinRaidDied": "Nem tudsz újra csatlakozni egy raid-hez, amiben meghaltál.",
|
||||
"F_UI_JoinRaid": "Kattints a raidhez hogy csatlakozz.",
|
||||
"F_UI_ErrorConnecting": "HIBA TÖRTÉNT CSATLAKOZÁSKÓR",
|
||||
"F_UI_UnableToConnect": "Nem lehet csatlakozni a szerverhez. Győződjön meg arról, hogy minden port nyitva publikus, és minden beállítás megfelelően van konfigurálva.",
|
||||
"F_UI_FikaPingerFailStart": "Nem sikerült elindítani a FikaPingert!",
|
||||
"F_UI_RefreshRaids": "Frissítsd az aktív raidek listáját.",
|
||||
"F_UI_DedicatedError": "FIKA DEDIKÁLT HIBA",
|
||||
"F_UI_ErrorForceIPHeader": "HIBA AZ IP-cím kényszerítésekor",
|
||||
"F_UI_ErrorForceIP": "A „{0}” nem érvényes IP-cím a csatlakozáshoz! Ellenőrizze a „Kényszerített IP” beállítást.",
|
||||
"F_UI_ErrorBindIPHeader": "KÖTÉSI HIBA",
|
||||
"F_UI_ErrorBindIP": "A '{0}' nem érvényes IP-cím a kötéshez! Ellenőrizze a „Force Bind IP” beállítást.",
|
||||
"F_UI_NoDedicatedClients": "Nincsenek dedikált kliensek.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "Várakozás, hogy a host befejezze a raid inicializálását...",
|
||||
"F_UI_WaitForOtherPlayers": "Várakozás, amíg a többi játékos befejezi a betöltést...",
|
||||
"F_UI_RetrieveSpawnInfo": "Spawn információk lekérése a szerverről...",
|
||||
"F_UI_RetrieveLoot": "Zsákmány lekérése a szerverről...",
|
||||
"F_UI_WaitForHostInit": "Várakozás a hostra, hogy inicializálja a raidet...",
|
||||
"F_UI_Reconnecting": "Újracsatlakozás...",
|
||||
"F_UI_RetrieveExfilData": "Kiszűrési adatok lekérése a szerverről...",
|
||||
"F_UI_RetrieveInteractables": "Interakcióképes objektumok lekérése a szerverről...",
|
||||
"F_UI_InitCoopGame": "Coop Játék Indítása...",
|
||||
"F_UI_AllPlayersJoined": "Összes játékos csatlakozott, játék indítása...",
|
||||
"F_UI_WaitingForConnect": "Várakozás, hogy a kliens csatlakozzon a szerverhez... Ha nincs értesítés, meghiúsult.",
|
||||
"F_UI_ErrorConnectingToRaid": "Nem lehet csatlakozni a raid szerverhez. Győződjön meg arról, hogy a portok továbbításra kerülnek és/vagy az UPnP engedélyezve és támogatott-e.",
|
||||
"F_UI_FinishingRaidInit": "Raid inicializálása befejezése...",
|
||||
"F_UI_SyncThrowables": "Dobható elemek szinkronizálása...",
|
||||
"F_UI_SyncInteractables": "Interaktív eszközök szinkronizálása...",
|
||||
"F_UI_SyncLampStates": "Lámpaállapotok szinkronizálása...",
|
||||
"F_UI_SyncWindows": "Ablakok szinkronizálása...",
|
||||
"F_UI_ReceiveOwnPlayer": "Saját játékos fogadása...",
|
||||
"F_UI_FinishReconnect": "Újracsatlakozás befejezése...",
|
||||
"F_Client_FreeCamInputDisabled": "A szabad kamera bemenet kikapcsolva",
|
||||
"F_Client_FreeCamInputEnabled": "A szabad kamera bemenet bekapcsolva",
|
||||
"F_UI_WaitForPlayer": "Várakozás {0} játékosra",
|
||||
"F_UI_WaitForPlayers": "Várakozás {0} játékosra",
|
||||
"F_UI_ToSLong": "Üdvözöljük a Fika-ban!\n\nA Fika egy többjátékos mod az SPT-hez, ez a mod lehetővé teszi, hogy játssz a barátaiddal. A Fika mindig is ingyenes lesz, ha fizettél érte, akkor átvertek. TILOS a publikus szervereket monetizációval vagy adománygyűjtéssel hostolni!\n\nVárj amíg ez az üzenet eltűnik, hogy elfogadd a Szolgáltatási Feltételeket.\n\nItt tudsz belépni a Discord szerverünkre: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Üdvözöljük a Fika-ban!\n\nA Fika egy többjátékos mod az SPT-hez, ez a mod lehetővé teszi, hogy játssz a barátaiddal. A Fika mindig is ingyenes lesz, ha fizettél érte, akkor átvertek. TILOS a publikus szervereket monetizációval vagy adománygyűjtéssel hostolni!\n\nItt tudsz belépni a Discord szerverünkre: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "Ebben a módban játszhatsz online co-op-ot a barátaiddal, annélkül, hogy más játékossal találkoznál.\\nAz összes co-op játékmechanika (időjárás, bot-ok, boss-ok, stb.) megegyeznek az online mechanikákkal.\\nCsak a host beállításai lesznek betöltve.",
|
||||
"F_UI_CoopGameMode": "Fika Co-op Játékmód",
|
||||
"F_UI_CoopRaidSettings": "Fika Co-op Raid Beállítások",
|
||||
"F_UI_FikaAlwaysCoop": "A Co-op mindig elérhető a Fika-ban",
|
||||
"F_UI_UpnpFailed": "UPnP mapping nem sikerült. Győződjön meg róla, hogy a kiválasztott port, nincs-e már nyitva!\\nKapcsolja ki az UPnP-t, hogyha VPN-t használ.",
|
||||
"F_UI_InitWeather": "Időjárás generálása...",
|
||||
"F_Notification_RaidStarted": "{0} Elindított egy raidet itt: {1}",
|
||||
"F_Notification_ItemReceived": "Kaptál egy {0} tőle: {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "A raid beállításai ki ki lettek kapcsolva a host álltal",
|
||||
"F_UI_ExtractMessage": "Nyomd meg a(z) {0} gombot hogy elhagyd a pályát",
|
||||
"F_UI_DownloadProfile": "PROFIL LETÖLTÉSE",
|
||||
"F_BepInEx_H_Advanced": "Haladó",
|
||||
"F_BepInEx_H_Coop": "Együttműködés",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Név táblák",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Küldetés megosztás",
|
||||
"F_BepInEx_H_Coop_Pinging": "Jelölés",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Debug",
|
||||
"F_BepInEx_H_Performance": "Teljesítmény",
|
||||
"F_BepInEx_H_PerformanceBots": "Teljesítmény | maximum botok",
|
||||
"F_BepInEx_H_Network": "Hálózat",
|
||||
"F_BepInEx_H_Gameplay": "Játék",
|
||||
"F_BepInEx_OfficialVersion_T": "Eredeti Verzió",
|
||||
"F_BepInEx_OfficialVersion_D": "Eredeti Verzió mutatása a Fika verziója helyett.",
|
||||
"F_BepInEx_ShowFeed_T": "Információ megjelenítése",
|
||||
"F_BepInEx_ShowFeed_D": "Egyedi értesítések engedélyezése, amikor egy játékos meghal, extractol, megöl egy bosst satöbbi.",
|
||||
"F_BepInEx_AutoExtract_T": "Meccs automatikus elhagyása",
|
||||
"F_BepInEx_AutoExtract_D": "Automatikusan elhagyja a pályát, miután a visszaszámlálás lejárt. Hostként ez csak akkor működik ha már nincs más a menetben.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Extract üzenet mutatása",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Megmutatja amikor kiextractolsz vagy meghalsz.",
|
||||
"F_BepInEx_ExtractKey_T": "Extract gomb",
|
||||
"F_BepInEx_ExtractKey_D": "A gomb amit meg kell nyomnod, hogy elhagyd a menetet.",
|
||||
"F_BepInEx_EnableChat_T": "Csevegés engedélyezése",
|
||||
"F_BepInEx_EnableChat_D": "Csevegés engedélyezése, menet közben nem lehet megváltoztatni.",
|
||||
"F_BepInEx_ChatKey_T": "Csevegés gombja",
|
||||
"F_BepInEx_ChatKey_D": "A gomb ami megnyitja a csevegést.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Online játékosok engedélyezése",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "Mutassa-e, ha online van valaki.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Online játékosok mérete",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "A menü mérete ami megmutatja, hányan vannak online. Csak akkor változtass meg, ha nem akkora mint amekkorának kéne lennie.\n\nÚjra kell indítani a főmenüt, hogy elmentsd a beállításokat.",
|
||||
"F_BepInEx_UseNamePlates_T": "Játékos nevek mutatása",
|
||||
"F_BepInEx_UseNamePlates_D": "Beállitja, hogy a névtábla látható legyen-e a játékosok felett.",
|
||||
"F_BepInEx_HideHealthBar_T": "Élet elrejtése",
|
||||
"F_BepInEx_HideHealthBar_D": "Teljesen elrejti az életet mutató menüt.",
|
||||
"F_BepInEx_UsePercent_T": "Százalékban mutatja az életerőd csíkok helyett",
|
||||
"F_BepInEx_UsePercent_D": "Százalékban mutatja az életerőd csíkok helyet.",
|
||||
"F_BepInEx_ShowEffects_T": "Hatások mutatása",
|
||||
"F_BepInEx_ShowEffects_D": "A hatáok mutatása a életerő csík mellett.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Megmutatja a játékos oldalának ikonját",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Megmutatja melyik oldalon áll a játékos az életereje mellett.",
|
||||
"F_BepInEx_HideInOptic_T": "Névtábla elrejtése amikor fegyvered távcsövén nézel át",
|
||||
"F_BepInEx_HideInOptic_D": "Elrejti a névtáblákat amikor PiP távcsöveken nézel keresztül.",
|
||||
"F_BepInEx_OpticUseZoom_T": "Névtáblák távcső nagyítást használnak",
|
||||
"F_BepInEx_OpticUseZoom_D": "A névtábla megjelenítése a PiP távcső használatával.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Az áttetszőség csökkentése a perifériában",
|
||||
"F_BepInEx_DecOpacPeri_D": "A névtáblák áttetszőségének lejjeb vevése, amikor nem egy játékosra nézel.",
|
||||
"F_BepInEx_NamePlateScale_T": "Névtábla ",
|
||||
"F_BepInEx_NamePlateScale_D": "Névtáblák mérete.",
|
||||
"F_BepInEx_AdsOpac_T": "Áttetszőség ADS-ben",
|
||||
"F_BepInEx_AdsOpac_D": "Az névtáblák áttetszősége ADS közben.",
|
||||
"F_BepInEx_MaxDistance_T": "Maximum távolság mutatása",
|
||||
"F_BepInEx_MaxDistance_D": "A maximum távolság ahol a névtáblák eltűnnek, elkezdenek, elhalványodni a megadott értékek felénél.",
|
||||
"F_BepInEx_MinOpac_T": "Minimum áttetszőség",
|
||||
"F_BepInEx_MinOpac_D": "A névtáblák minimum áttetszősége.",
|
||||
"F_BepInEx_MinPlateScale_T": "Minimum névtábla méret",
|
||||
"F_BepInEx_MinPlateScale_D": "A névtáblák minimum áttetszősége.",
|
||||
"F_BepInEx_UseOcclusion_T": "Okklúzió használata",
|
||||
"F_BepInEx_UseOcclusion_D": "Okklúzió használata a névtábla elrejtéséhez, amikor a játékos nincs a látóteredben.",
|
||||
"F_BepInEx_QuestTypes_T": "Küldetés formák",
|
||||
"F_BepInEx_QuestTypes_D": "Milyen típusú küldetéseket kell fogadni és elküldeni. A PlaceBeacon jelölőket és elemeket is tartalmaz.",
|
||||
"F_BepInEx_QSNotifications_T": "Értesítések mutatása",
|
||||
"F_BepInEx_QSNotifications_D": "Ha értesítést kell megjeleníteni, amikor a küldetés előrehaladását megosztják a külsővel.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Könnyű kill körülmények",
|
||||
"F_BepInEx_EasyKillConditions_D": "Engedélyezi a könnyű ölési feltételeket. Ha ez használatban van, amikor egy barátságos játékos megöl valakit, a játék a te ölésednek számítja a küldetésekhez, addig, amíg minden feltétel egyezik.\nA funkció inkonzisztens lehet és nem mindig működik.",
|
||||
"F_BepInEx_SharedKillXP_T": "Megosztott kill pont",
|
||||
"F_BepInEx_SharedKillXP_D": "Ha engedélyezve van, megkapod a pontok felét ha egy barátod megöl valamit (bossok kivételével).",
|
||||
"F_BepInEx_SharedBossXP_T": "Pontok megosztása, amikor megöltök egy bosst",
|
||||
"F_BepInEx_SharedBossXP_D": "Ha engedélyezve van megkapod a pontok felét amikor egy barátod megöl egy bosst.",
|
||||
"F_BepInEx_PingSystem_T": "Jelölés rendszer",
|
||||
"F_BepInEx_PingSystem_D": "A jelölés rendszer engedélyezése. Ha engedélyezve van, meg tudsz jelölni dolgokat a megfelelő gomb lenyomásával.",
|
||||
"F_BepInEx_PingButton_T": "Jelölés gombja",
|
||||
"F_BepInEx_PingButton_D": "A gomb amivel még jelölod a dolgokat.",
|
||||
"F_BepInEx_PingColor_T": "Jelölés színe",
|
||||
"F_BepInEx_PingColor_D": "A jelölésed színe, amit a többi játékos lát.",
|
||||
"F_BepInEx_PingSize_T": "Jelölés mérete",
|
||||
"F_BepInEx_PingSize_D": "A jelölés méretét változtathatod vele.",
|
||||
"F_BepInEx_PingTime_T": "Jelölés mérete",
|
||||
"F_BepInEx_PingTime_D": "Meddig látható a jelölésed.",
|
||||
"F_BepInEx_PingAnimation_T": "Jelölés animáció lejátszása",
|
||||
"F_BepInEx_PingAnimation_D": "Autómatikusan lejátsza a mutatási animációt jelöléskor. Lehet hatása a játékra.",
|
||||
"F_BepInEx_PingOptics_T": "Jelölés megjelenítése, amikor távcsövön keresztül nézel",
|
||||
"F_BepInEx_PingOptics_D": "Jelölés megjelenítése amikor ",
|
||||
"F_BepInEx_PingOpticZoom_T": "Jelölés használ optika nagyitást",
|
||||
"F_BepInEx_PingOpticZoom_D": "Ha a jelölés helyét meg kell jeleníteni a PiP(Kép a képben) távcső kamera használatával.",
|
||||
"F_BepInEx_PingScaleDistance_T": "A jelölés mérete távolsághoz képest változik",
|
||||
"F_BepInEx_PingScaleDistance_D": "Változzon-e a jelölés mérete távolságtól függően.",
|
||||
"F_BepInEx_PingMinOpac_T": "Jelölés Minimum Átlátszatlanság",
|
||||
"F_BepInEx_PingMinOpac_D": "A jelölés minimális átlátszatlansága egyenesen rájuk nézve.",
|
||||
"F_BepInEx_PingRange_T": "Jelölés távolság mutatássa",
|
||||
"F_BepInEx_PingRange_D": "Megjeleníti a távolság a játékostól a jelölésig, ha engedélyezve van.",
|
||||
"F_BepInEx_PingSound_T": "Jelölés Hang",
|
||||
"F_BepInEx_PingSound_D": "A jelölés alatt lejátszott hang",
|
||||
"F_BepInEx_FreeCamButton_T": "Szabad Kamera Gomb",
|
||||
"F_BepInEx_FreeCamButton_D": "Gomb a szabad kamera váltásához.",
|
||||
"F_BepInEx_SpectateBots_T": "Engedélyezés botok nézését",
|
||||
"F_BepInEx_SpectateBots_D": "Ha engedélyezzük a botok nézzését, ha minden játékos meghalt/kivont.",
|
||||
"F_BepInEx_AZERTYMode_T": "AZERTY Mód",
|
||||
"F_BepInEx_AZERTYMode_D": "Ha a szabad kamerának az AZERTY gombokat kell használnia a bevitelhez.",
|
||||
"F_BepInEx_DroneMode_T": "Drón mód",
|
||||
"F_BepInEx_DroneMode_D": "Ha a szabad kamera csak a függőleges tengely mentén mozog, mint egy drón.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Billentyű beviteli átfedés",
|
||||
"F_BepInEx_KeybindOverlay_D": "Látható olyan átfedés, amely az összes free cam-hoz tartozó billentyűkombinációt mutatja.",
|
||||
"F_BepInEx_DynamicAI_T": "Dinamikus AI",
|
||||
"F_BepInEx_DynamicAI_D": "Használja a dinamikus AI rendszert, és kikapcsolja az AI-t, ha az összes játékos hatótávolságán kívül vannak.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Dinamikus AI távolság",
|
||||
"F_BepInEx_DynamicAIRange_D": "Az a távolság, ahol az AI dinamikusan ki lesz kapcsolva.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Dinamikus AI arány",
|
||||
"F_BepInEx_DynamicAIRate_D": "Milyen gyakran keressen játékost a DynamicAI a hatótávján belül.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Mesterlövészek kihagyása",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "A dinamikus AI figyelmen kívül hagyja-e a mesterlövész scav-eket.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Kényszerített spawn limitek",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Kikényszeríti a spawn korlátokat a botok spawnalásakór, ügyelve arra, hogy ne lépje túl a vanilla korlátokat. Ez főként spawn modok vagy bármi más, ami módosítja a botkorlátokat, használatakor érvényesül. Nem blokkolja a speciális botok, például a bossok megjelenését.",
|
||||
"F_BepInEx_DespawnFurthest_T": "A legtávolabbi eltüntetése",
|
||||
"F_BepInEx_DespawnFurthest_D": "A spawn limitek érvényesítésekor a legtávolabbi botot kell de spawnolni a spawn blokkolása helyett. Ez sokkal aktívabb raidet tesz lehetővé alacsonyabb Max Bots szám mellett. Gyengébb Számitógépe-k számára hasznos. Csak a pmcs-eket és a scav-eket szünteti meg. Ha nem futtatsz dinamikus spawn modot, akkor ez gyorsan kimeríti a spawnokat a térképen, így a raid nagyon halott lesz.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Despawn minimális távolság",
|
||||
"F_BepInEx_DespawnMinDistance_D": "A minimum távolság a botok eltüntetéshez.",
|
||||
"F_BepInEx_MaxBots_T": "Botok maximum száma: {0}",
|
||||
"F_BepInEx_MaxBots_D": "Az egyidejűleg aktív botok maximális száma itt: {0}. Hasznos, ha gyengébb számítógépe van. Állítsa 0-ra a vanilla határértékek használatához. Raid közben nem változtatható.",
|
||||
"F_BepInEx_NativeSockets_T": "Natív socketek",
|
||||
"F_BepInEx_NativeSockets_D": "Használja a Native Socketet a játékforgalomhoz. Ez közvetlen socketeket használ a küldéshez/fogadáshoz a sebesség drasztikus növelése és a GC nyomás csökkentése érdekében. Csak Windows/Linux esetén, előfordulhat, hogy nem mindig működik.",
|
||||
"F_BepInEx_ForceIP_T": "Kényszerített IP",
|
||||
"F_BepInEx_ForceIP_D": "Kényszeríti a szervert, amikor a szerver ezt az IP-t használja, amikor a háttérrendszer felé sugároz, ahelyett, hogy automatikusan megpróbálná lekérni. A kikapcsoláshoz hagyja üresen.",
|
||||
"F_BepInEx_ForceBindIP_T": "Kényszerített Bind IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Kényszeríti a kiszolgálót a szerver indításakor, hogy ezt a helyi adaptert használja. Hasznos, ha VPN-en tárolsz.",
|
||||
"F_BepInEx_UDPPort_T": "UDP Port",
|
||||
"F_BepInEx_UDPPort_D": "Az UDP játék packetekhez használható port.",
|
||||
"F_BepInEx_UseUPnP_T": "UPnP használata",
|
||||
"F_BepInEx_UseUPnP_D": "Megpróbál portokat nyitni UPnP-vel. Hasznos, ha tudod hogyan nyitsd meg őked egyedül, de a router ezt támogatja.",
|
||||
"F_BepInEx_UseNatPunch_T": "Használja a NAT átütés",
|
||||
"F_BepInEx_UseNatPunch_D": "Használjon NAT átütést raid fogadásakor. Csak teljes kúp NAT típusú routerekel működik, és megköveteli, hogy a NatPunchServer fusson az SPT kiszolgálón. Az UPnP, a Kényszeritett IP és a Kényszeritett Bind IP le van tiltva ezzel a móddal.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Kapcsolati időtullépés",
|
||||
"F_BepInEx_ConnectionTimeout_D": "Mennyi időbe telik, amíg a kapcsolat megszakadtnak minősül, ha nem érkezik packet.",
|
||||
"F_BepInEx_SendRate_T": "Küldési arány",
|
||||
"F_BepInEx_SendRate_D": "Milyen gyakran kell másodpercenként küldeni a mozgáscsomagokat (alacsonyabb = kevesebb sávszélességet használnak, kicsit több késleltetés az interpoláció során)\nEz csak a Hosztot érinti, és minden klienssel szinkronizálva lesz.\nAz összeg másodpercenként:\n\nNagyon alacsony = 10\nAlacsony = 15\nKözepes = 20\nMagas = 30\n\nJavasoljuk, hogy a közepesnél nem magasabb értéket hagyja, mivel a nyereség utána jelentéktelen.",
|
||||
"F_BepInEx_SmoothingRate_T": "Simítási arány",
|
||||
"F_BepInEx_SmoothingRate_D": "A helyi szimuláció mögött van (Küldési sebesség * Simítási sebesség). Ez garantálja, hogy mindig legyen elegendő pillanatképünk a pufferben az interpoláció közbeni késések és jitter csökkentéséhez.\n\nAlacsony = 1,5\nKözepes = 2\nMagas = 2,5\n\nÁllítsa ezt a 'Magas' értékre, ha a mozgás nem egyenletes. Raid közben nem változtatható.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Bot metabolizmus kikapcsolása",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Kikapcsolja a metabolizmust botoknak, megakadályozza őket abban, hogy meghaljanak az energiavesztéstől/dehidratáltságtól a hosszú játék során.",
|
||||
"F_MMUI_OnlinePlayers": "Online játékosok: {0}",
|
||||
"F_MMUI_InMenu": "Menüben",
|
||||
"F_MMUI_InRaid": "Menetben",
|
||||
"F_MMUI_InStash": "Széfben",
|
||||
"F_MMUI_InHideout": "Bunkerben",
|
||||
"F_MMUI_InFlea": "Aukciós házban",
|
||||
"F_MMUI_RaidDetails": "Játék {0} ként {1}-en\nIdő: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Benvenuti su Fika, la Mod Coop OFFLINE per SPT.",
|
||||
"NDA free warning": "Per ospitare/unirsi a una partita è necessario selezionare una mappa e andare all'ultima schermata per utilizzare il browser server.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "Ricevuta una progressione della missione condivisa da {0} per la missione {1}",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} ha raccolto {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} ha piantato un oggetto per {1}",
|
||||
"F_Client_ReceivePing": "Ricevuto un ping da {0}",
|
||||
"F_Client_ReceivePingObject": "{0} ha pingato {1}",
|
||||
"F_Client_RandomSpawnPoints": "Utilizzando punti di generazione casuali",
|
||||
"F_Client_MetabolismDisabled": "Metabolismo disabilitato",
|
||||
"F_Client_YouAreMIA": "Sei andato disperso in azione...",
|
||||
"F_Client_KilledBoss": "{0} ha ucciso il boss {1}",
|
||||
"F_Client_GroupMemberSpawned": "Il membro del gruppo {0} è spawnato",
|
||||
"F_Client_GroupMemberExtracted": "Il membro del gruppo {0} è stato estratto",
|
||||
"F_Client_GroupMemberDiedFrom": "Il membro del gruppo {0} è morto da {1}",
|
||||
"F_Client_GroupMemberDied": "Il membro del gruppo {0} è morto",
|
||||
"F_Client_ConnectedToServer": "Connesso al server sulla porta {0}",
|
||||
"F_Client_ServerStarted": "Il server è stato avviato sulla porta {0}",
|
||||
"F_Client_CouldNotFindValidIP": "Impossibile trovare un indirizzo IP locale valido!",
|
||||
"F_Client_ReconnectRequested": "Ricollegamento richiesto, aspettarsi lag...",
|
||||
"F_Client_PeerConnected": "Peer connesso al server sulla porta {0}",
|
||||
"F_Client_PeerDisconnected": "Peer disconnesso {0}, info: {1}",
|
||||
"F_Client_ConnectingToSession": "Connessione alla sessione...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} è in blacklist per l'invio",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} contiene {1} che è in blacklist per l'invio",
|
||||
"F_Client_SavedProfile": "Profilo {0} salvato in {1}",
|
||||
"F_Client_UnknownError": "È stata lanciata un'eccezione sconosciuta, controlla il tuo file di log",
|
||||
"F_Client_HostCannotExtract": "Non puoi uscire dal gioco finché tutti i client non si sono disconnessi",
|
||||
"F_Client_HostCannotExtractMenu": "Non puoi disconnetterti mentre ci sono ancora peer connessi! Rimanenti: {0}",
|
||||
"F_Client_Wait5Seconds": "Attendere almeno 5 secondi dopo l'ultimo peer disconnesso prima di uscire",
|
||||
"F_Client_StartingRaid": "Avvio raid, attendere...",
|
||||
"F_Client_LostConnection": "Connessione persa all'host",
|
||||
"F_Client_StartingRaidOnDedicated": "Avvio raid sul client dedicato... attendere",
|
||||
"F_SendItem_Header": "SELEZIONA UN GIOCATORE",
|
||||
"F_SendItem_SendButton": "INVIA",
|
||||
"F_MMUI_RaidsHeader": "RAIDS",
|
||||
"F_MMUI_HostRaidButton": "HOSTA RAID",
|
||||
"F_MMUI_JoinButton": "UNISCITI",
|
||||
"F_MMUI_SelectAmountHeader": "SELEZIONA QUANTITÀ",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "Quante persone (incluso te) giocheranno?",
|
||||
"F_MMUI_UseDedicatedHost": "Usa Host Dedicato",
|
||||
"F_MMUI_StartButton": "AVVIA",
|
||||
"F_MMUI_LoadingScreenHeader": "CARICAMENTO",
|
||||
"F_MMUI_LoadingScreenDescription": "Attendere mentre il raid sta partendo... questo potrebbe richiedere un po' di tempo.",
|
||||
"F_MMUI_JoinAsSpectator": "Join as spectator",
|
||||
"F_UI_StartRaid": "Start Raid",
|
||||
"F_UI_StartRaidDescription": "Starts the raid\nNew players will not be able to join",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Impossibile entrare in un raid che è su un'altra mappa.\nMappa raid: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Impossibile entrare in un raid che è in un altro orario.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "Non puoi partecipare a un raid scav come PMC.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "Non puoi partecipare a un raid PMC come scav.",
|
||||
"F_UI_HostStillLoading": "L'host sta ancora caricando.",
|
||||
"F_UI_RaidInProgress": "Il raid è già in corso.",
|
||||
"F_UI_ReJoinRaid": "Clicca per ricollegarti al raid.",
|
||||
"F_UI_CannotReJoinRaidDied": "Impossibile ricollegarti a un raid dove sei morto.",
|
||||
"F_UI_JoinRaid": "Clicca per partecipare al raid.",
|
||||
"F_UI_ErrorConnecting": "ERRORE A CONNETTERSI",
|
||||
"F_UI_UnableToConnect": "Impossibile connettersi al server. Assicurati che tutte le porte siano aperte e che tutte le impostazioni siano configurate correttamente.",
|
||||
"F_UI_FikaPingerFailStart": "Impossibile avviare FikaPinger!",
|
||||
"F_UI_RefreshRaids": "Aggiorna la lista dei raid attivi.",
|
||||
"F_UI_DedicatedError": "ERRORE DEDICATO DI FIKA",
|
||||
"F_UI_ErrorForceIPHeader": "ERRORE FORZATURA IP",
|
||||
"F_UI_ErrorForceIP": "'{0}' non è un indirizzo IP valido a cui connettersi! Controlla l'impostazione 'Forza IP'.",
|
||||
"F_UI_ErrorBindIPHeader": "ERRORE BINDING",
|
||||
"F_UI_ErrorBindIP": "'{0}' non è un indirizzo IP valido per il binding! Controlla l'impostazione 'Forza Bind IP'.",
|
||||
"F_UI_NoDedicatedClients": "Nessun client dedicato è disponibile.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "In attesa che l'host concluda l'inizializzazione del raid...",
|
||||
"F_UI_WaitForOtherPlayers": "In attesa che gli altri giocatori finiscano di caricare...",
|
||||
"F_UI_RetrieveSpawnInfo": "Recupero informazioni di generazione dal server...",
|
||||
"F_UI_RetrieveLoot": "Recupero loot dal server...",
|
||||
"F_UI_WaitForHostInit": "In attesa che l'host inizializzi il raid...",
|
||||
"F_UI_Reconnecting": "Riconnessione...",
|
||||
"F_UI_RetrieveExfilData": "Recupero dati di exfiltrazione dal server...",
|
||||
"F_UI_RetrieveInteractables": "Recupero di oggetti interagibili dal server...",
|
||||
"F_UI_InitCoopGame": "Inizializzazione del Gioco Coop...",
|
||||
"F_UI_AllPlayersJoined": "Tutti i giocatori si sono uniti, inizio partita...",
|
||||
"F_UI_WaitingForConnect": "In attesa che il client si connetta al server... Se non c'è alcuna notifica non è riuscito.",
|
||||
"F_UI_ErrorConnectingToRaid": "Impossibile connettersi al server del raid. Assicurati che le porte siano aperte e/o che l'UPnP sia abilitato e supportato.",
|
||||
"F_UI_FinishingRaidInit": "Completamento inizializzazione raid...",
|
||||
"F_UI_SyncThrowables": "Sincronizzazione lanciabili...",
|
||||
"F_UI_SyncInteractables": "Sincronizzazione interagibili...",
|
||||
"F_UI_SyncLampStates": "Sincronizzazione fonti luminose...",
|
||||
"F_UI_SyncWindows": "Sincronizzazione finestre...",
|
||||
"F_UI_ReceiveOwnPlayer": "Ricezione proprio giocatore...",
|
||||
"F_UI_FinishReconnect": "Fine riconnessione...",
|
||||
"F_Client_FreeCamInputDisabled": "Input disabilitati in Free cam",
|
||||
"F_Client_FreeCamInputEnabled": "Input abilitati in Free cam",
|
||||
"F_UI_WaitForPlayer": "In attesa di {0} giocatore",
|
||||
"F_UI_WaitForPlayers": "In attesa di {0} giocatori",
|
||||
"F_UI_ToSLong": "Benvenuto su Fika!\n\nFika è una mod co-op per SPT, che ti permette di giocare con i tuoi amici. Fika è e sarà sempre gratuito, se lo hai pagato sei stato truffato. Non è inoltre consentito ospitare server pubblici con monetizzazione o donazioni.\n\nAspetta che questo messaggio svanisca per accettare i nostri Termini di Servizio.\n\nPuoi unirti alla nostra community Discord qui: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Benvenuto su Fika!\n\nFika è una mod co-op per SPT, che ti permette di giocare con i tuoi amici. Fika è e sarà sempre gratuito, se lo hai pagato sei stato truffato. Non è inoltre consentito ospitare server pubblici con monetizzazione o donazioni.\n\nPuoi unirti alla nostra community Discord qui: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "In questa modalità, puoi giocare in co-op online con i tuoi amici senza il rischio d'incontrare altri giocatori.\\nTutte le meccaniche di gioco in modalità co-op (meteo, bot, boss, ecc.) sono identici alla meccanica online.\\nSolo le impostazioni host avranno effetto.",
|
||||
"F_UI_CoopGameMode": "Modalità Di Gioco Co-op Fika",
|
||||
"F_UI_CoopRaidSettings": "Impostazioni Co-op Raid Fika",
|
||||
"F_UI_FikaAlwaysCoop": "La Co-op è sempre abilitata in Fika",
|
||||
"F_UI_UpnpFailed": "Mappatura UPnP non riuscita. Assicurati che la porta selezionata non sia già aperta!\\nDisabilita UPnP se stai utilizzando una VPN.",
|
||||
"F_UI_InitWeather": "Generazione meteo...",
|
||||
"F_Notification_RaidStarted": "{0} ha avviato un raid su {1}",
|
||||
"F_Notification_ItemReceived": "Hai ricevuto {0} da {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "La modifica di RaidSettings è stata disabilitata dall' host del server",
|
||||
"F_UI_ExtractMessage": "Premi {0} per estrarre",
|
||||
"F_UI_DownloadProfile": "DOWNLOAD PROFILE",
|
||||
"F_BepInEx_H_Advanced": "Avanzato",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Coop | Targhette Nome",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Coop | Condivisione Missioni",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Pinging",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Debug",
|
||||
"F_BepInEx_H_Performance": "Prestazioni",
|
||||
"F_BepInEx_H_PerformanceBots": "Prestazioni | Max Bots",
|
||||
"F_BepInEx_H_Network": "Rete",
|
||||
"F_BepInEx_H_Gameplay": "Gameplay",
|
||||
"F_BepInEx_OfficialVersion_T": "Versione Ufficiale",
|
||||
"F_BepInEx_OfficialVersion_D": "Mostra la versione ufficiale invece della versione Fika",
|
||||
"F_BepInEx_ShowFeed_T": "Mostra Feed",
|
||||
"F_BepInEx_ShowFeed_D": "Mostra notifiche personalizzate quando un giocate muore, estrae, uccide un boss, ecc.",
|
||||
"F_BepInEx_AutoExtract_T": "Estrazione automatica",
|
||||
"F_BepInEx_AutoExtract_D": "Estrai automaticamente dopo il countdown dell' estrazione come host, questo funzionerà solamente se non ci sono client connessi.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Mostra messaggio di estrazione",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Indica se mostrare o meno il messaggio di estrazione dopo essere morti/estratti.",
|
||||
"F_BepInEx_ExtractKey_T": "Tasto per l'estrazione",
|
||||
"F_BepInEx_ExtractKey_D": "Il tasto usato per l'estrazione da un raid.",
|
||||
"F_BepInEx_EnableChat_T": "Abilita la chat",
|
||||
"F_BepInEx_EnableChat_D": "Attiva/Disattiva la chat in game. Non può essere cambiato durante un raid. ",
|
||||
"F_BepInEx_ChatKey_T": "Tasto Chat",
|
||||
"F_BepInEx_ChatKey_D": "Il tasto usato per aprire la chat",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Abilita Giocatori Online",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": ".",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Online Players Scale",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "Grandezza della finestra che mostra i giocatori online. Modifica solo se sproporzionata.\n\nRichiede un riavvio per visualizzare le modifiche",
|
||||
"F_BepInEx_UseNamePlates_T": "Mostra le Targhette Nome dei Giocatori",
|
||||
"F_BepInEx_UseNamePlates_D": "Se le targhette dei nomi devono essere mostrare sopra i compagni di squadra.",
|
||||
"F_BepInEx_HideHealthBar_T": "Nascondi la barra della salute",
|
||||
"F_BepInEx_HideHealthBar_D": "Nascondi completamente la barra della salute.",
|
||||
"F_BepInEx_UsePercent_T": "Mostra HP% invece della barra",
|
||||
"F_BepInEx_UsePercent_D": "Mostra la salute in % invece che usare la barra.",
|
||||
"F_BepInEx_ShowEffects_T": "Mostra Effetti",
|
||||
"F_BepInEx_ShowEffects_D": "If status effects should be displayed below the health bar.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Mostra Icona Fazione del Giocatore",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Mostra l'icona fazione del giocatore di fianco alla balla della salute",
|
||||
"F_BepInEx_HideInOptic_T": "Nascondi Targhetta Nome mentre miri",
|
||||
"F_BepInEx_HideInOptic_D": "Nascondi targhetta nome durante la mira con mirini PiP",
|
||||
"F_BepInEx_OpticUseZoom_T": "Name Plates Use Optic Zoom",
|
||||
"F_BepInEx_OpticUseZoom_D": "If name plate location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Decrease Opacity In Peripheral",
|
||||
"F_BepInEx_DecOpacPeri_D": "Diminuisce l'opacità delle targhette dei nomi quando non si guarda un giocatore",
|
||||
"F_BepInEx_NamePlateScale_T": "Name Plate Scale",
|
||||
"F_BepInEx_NamePlateScale_D": "Grandezza delle targhette dei nomi.",
|
||||
"F_BepInEx_AdsOpac_T": "Opacità durante la mira",
|
||||
"F_BepInEx_AdsOpac_D": "The opacity of the name plates when aiming down sights.",
|
||||
"F_BepInEx_MaxDistance_T": "Distanza massima da mostrare",
|
||||
"F_BepInEx_MaxDistance_D": "The maximum distance at which name plates will become invisible, starts to fade at half the input value.",
|
||||
"F_BepInEx_MinOpac_T": "Opacità Minima",
|
||||
"F_BepInEx_MinOpac_D": "Opacità minima targhette dei nomi",
|
||||
"F_BepInEx_MinPlateScale_T": "Minimum Name Plate Scale",
|
||||
"F_BepInEx_MinPlateScale_D": "The minimum scale of the name plates.",
|
||||
"F_BepInEx_UseOcclusion_T": "Abilità Occlusion",
|
||||
"F_BepInEx_UseOcclusion_D": "Use occlusion to hide the name plate when the player is out of sight.",
|
||||
"F_BepInEx_QuestTypes_T": "Tipi di Quest",
|
||||
"F_BepInEx_QuestTypes_D": "Which quest types to receive and send. PlaceBeacon is both markers and items.",
|
||||
"F_BepInEx_QSNotifications_T": "Mostra Notifiche",
|
||||
"F_BepInEx_QSNotifications_D": "Se una notifica debba essere mostrata quando il progresso di una questo è condiviso.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Condizioni di Uccisione Facili",
|
||||
"F_BepInEx_EasyKillConditions_D": "Abilita condizioni di uccisione facile, se abilita ogni qualsivoglia volta un compagno uccida un giocatore/nemico viene conteggiato anche per le tue quest. Questo può essere inconsistente e non funziona sempre.",
|
||||
"F_BepInEx_SharedKillXP_T": "Esperienza Uccisioni Condivisa",
|
||||
"F_BepInEx_SharedKillXP_D": "Se abilitato riceverai ½ dell' esperienza quando un compagno di squadra uccide un nemico (non conta per i boss).",
|
||||
"F_BepInEx_SharedBossXP_T": "Esperienza Boss Condivisa",
|
||||
"F_BepInEx_SharedBossXP_D": "Se abilitato riceverai ½ dell' esperienza quando un compagno di squadra uccide un boss.",
|
||||
"F_BepInEx_PingSystem_T": "Sistema Ping",
|
||||
"F_BepInEx_PingSystem_D": "Attiva/Disattiva Ping. Se abilitato puoi ricevere e inviare dei ping usando il tasto apposito",
|
||||
"F_BepInEx_PingButton_T": "Tasto Ping",
|
||||
"F_BepInEx_PingButton_D": "Tasto per usare i ping.",
|
||||
"F_BepInEx_PingColor_T": "Colore Ping",
|
||||
"F_BepInEx_PingColor_D": "Colore dei tuoi ping quando mostrati ad altri giocati.",
|
||||
"F_BepInEx_PingSize_T": "Grandezza Ping",
|
||||
"F_BepInEx_PingSize_D": "Moltiplicatore grandezza Ping.",
|
||||
"F_BepInEx_PingTime_T": "Tempo Ping",
|
||||
"F_BepInEx_PingTime_D": "Per quanto un ping deve essere mostrato",
|
||||
"F_BepInEx_PingAnimation_T": "Riproduci Animazione Ping",
|
||||
"F_BepInEx_PingAnimation_D": "Plays the pointing animation automatically when pinging. Can interfere with gameplay.",
|
||||
"F_BepInEx_PingOptics_T": "Mostra Ping mentre Miri",
|
||||
"F_BepInEx_PingOptics_D": "If pings should be displayed while aiming down an optics scope.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Ping Use Optic Zoom",
|
||||
"F_BepInEx_PingOpticZoom_D": "If ping location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Ping Scale With Distance",
|
||||
"F_BepInEx_PingScaleDistance_D": "If ping size should scale with distance from player.",
|
||||
"F_BepInEx_PingMinOpac_T": "Opacità Minima Ping",
|
||||
"F_BepInEx_PingMinOpac_D": "Opacità minima di un ping quando vengono guardati",
|
||||
"F_BepInEx_PingRange_T": "Mostra range del ping",
|
||||
"F_BepInEx_PingRange_D": "Mostra la distanza dal ping se abilitato",
|
||||
"F_BepInEx_PingSound_T": "Suono Ping",
|
||||
"F_BepInEx_PingSound_D": "Audio riprodotto durante il ping",
|
||||
"F_BepInEx_FreeCamButton_T": "Free Camera Button",
|
||||
"F_BepInEx_FreeCamButton_D": "Button used to toggle free camera.",
|
||||
"F_BepInEx_SpectateBots_T": "Allow Spectating Bots",
|
||||
"F_BepInEx_SpectateBots_D": "If we should allow spectating bots if all players are dead/extracted.",
|
||||
"F_BepInEx_AZERTYMode_T": "AZERTY Mode",
|
||||
"F_BepInEx_AZERTYMode_D": "If free camera should use AZERTY keys for input.",
|
||||
"F_BepInEx_DroneMode_T": "Drone Mode",
|
||||
"F_BepInEx_DroneMode_D": "If the free camera should move only along the vertical axis like a drone.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Keybind Overlay",
|
||||
"F_BepInEx_KeybindOverlay_D": "If an overlay with all free cam keybinds should show.",
|
||||
"F_BepInEx_DynamicAI_T": "Dynamic AI",
|
||||
"F_BepInEx_DynamicAI_D": "Use the dynamic AI system, disabling AI when they are outside of all player's range.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Dynamic AI Range",
|
||||
"F_BepInEx_DynamicAIRange_D": "The range at which AI will be disabled dynamically.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Dynamic AI Rate",
|
||||
"F_BepInEx_DynamicAIRate_D": "How often DynamicAI should scan for the range from all players.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignore Snipers",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Whether Dynamic AI should ignore sniper scavs.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Enforced Spawn Limits",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Enforces spawn limits when spawning bots, making sure to not go over the vanilla limits. This mainly takes affect when using spawn mods or anything that modifies the bot limits. Will not block spawns of special bots like bosses.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Despawn Furthest",
|
||||
"F_BepInEx_DespawnFurthest_D": "When enforcing spawn limits, should the furthest bot be de-spawned instead of blocking the spawn. This will make for a much more active raid on a lower Max Bots count. Helpful for weaker PCs. Will only despawn pmcs and scavs. If you don't run a dynamic spawn mod, this will however quickly exhaust the spawns on the map, making the raid very dead instead.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Despawn Minimum Distance",
|
||||
"F_BepInEx_DespawnMinDistance_D": "The minimum distance to despawn a bot.",
|
||||
"F_BepInEx_MaxBots_T": "Max Bots {0}",
|
||||
"F_BepInEx_MaxBots_D": "Max amount of bots that can be active at the same time on {0}. Useful if you have a weaker PC. Set to 0 to use vanilla limits. Cannot be changed during a raid.",
|
||||
"F_BepInEx_NativeSockets_T": "Native Sockets",
|
||||
"F_BepInEx_NativeSockets_D": "Use NativeSockets for gameplay traffic. This uses direct socket calls for send/receive to drastically increase speed and reduce GC pressure. Only for Windows/Linux and might not always work.",
|
||||
"F_BepInEx_ForceIP_T": "Force IP",
|
||||
"F_BepInEx_ForceIP_D": "Forces the server when hosting to use this IP when broadcasting to the backend instead of automatically trying to fetch it. Leave empty to disable.",
|
||||
"F_BepInEx_ForceBindIP_T": "Force Bind IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Forces the server when hosting to use this local adapter when starting the server. Useful if you are hosting on a VPN.",
|
||||
"F_BepInEx_UDPPort_T": "UDP Port",
|
||||
"F_BepInEx_UDPPort_D": "Port to use for UDP gameplay packets.",
|
||||
"F_BepInEx_UseUPnP_T": "Use UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Attempt to open ports using UPnP. Useful if you cannot open ports yourself but the router supports UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Use NAT Punching",
|
||||
"F_BepInEx_UseNatPunch_D": "Use NAT punching when hosting a raid. Only works with fullcone NAT type routers and requires NatPunchServer to be running on the SPT server. UPnP, Force IP and Force Bind IP are disabled with this mode.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Connection Timeout",
|
||||
"F_BepInEx_ConnectionTimeout_D": "How long it takes for a connection to be considered dropped if no packets are received.",
|
||||
"F_BepInEx_SendRate_T": "Send Rate",
|
||||
"F_BepInEx_SendRate_D": "How often per second movement packets should be sent (lower = less bandwidth used, slight more delay during interpolation)\nThis only affects the host and will be synchronized to all clients.\nAmount is per second:\n\nVery Low = 10\nLow = 15\nMedium = 20\nHigh = 30\n\nRecommended to leave at no higher than Medium as the gains are insignificant after.",
|
||||
"F_BepInEx_SmoothingRate_T": "Smoothing Rate",
|
||||
"F_BepInEx_SmoothingRate_D": "Local simulation is behind by (Send Rate * Smoothing Rate). This guarantees that we always have enough snapshots in the buffer to mitigate lags & jitter during interpolation.\n\nLow = 1.5\nMedium = 2\nHigh = 2.5\n\nSet this to 'High' if movement isn't smooth. Cannot be changed during a raid.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Disable Bot Metabolism",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Disables metabolism on bots, preventing them from dying from loss of energy/hydration during long raids.",
|
||||
"F_MMUI_OnlinePlayers": "ONLINE PLAYERS: {0}",
|
||||
"F_MMUI_InMenu": "In Menu",
|
||||
"F_MMUI_InRaid": "In Raid",
|
||||
"F_MMUI_InStash": "In Stash",
|
||||
"F_MMUI_InHideout": "In Hideout",
|
||||
"F_MMUI_InFlea": "In Flea",
|
||||
"F_MMUI_RaidDetails": "Playing as a {0} on {1}\nTime: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Fika へようこそ。これは SPT 用のオフライン協力プレイ Mod です。",
|
||||
"NDA free warning": "ゲームをホスト/参加するには、マップを選択し、最後の画面まで進んでサーバーブラウザを使用する必要があります。",
|
||||
"F_Client_ReceivedSharedQuestProgress": "{0} からタスク {1} の共有進行状況を受信しました。",
|
||||
"F_Client_ReceivedSharedItemPickup": "{1} が {0} を入手しました",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} が {1} のアイテムを設置しました",
|
||||
"F_Client_ReceivePing": "{0} からピンを受信しました",
|
||||
"F_Client_ReceivePingObject": "{0} が {1} にピンしました",
|
||||
"F_Client_RandomSpawnPoints": "ランダムなスポーン地点を使用",
|
||||
"F_Client_MetabolismDisabled": "代謝を無効",
|
||||
"F_Client_YouAreMIA": "あなたは行方不明になった...",
|
||||
"F_Client_KilledBoss": "{0} がボス {1} をキルしました",
|
||||
"F_Client_GroupMemberSpawned": "グループメンバー {0} がスポーンしました",
|
||||
"F_Client_GroupMemberExtracted": "グループメンバー {0} が脱出しました",
|
||||
"F_Client_GroupMemberDiedFrom": "グループメンバー {0} が {1} により死亡しました",
|
||||
"F_Client_GroupMemberDied": "グループメンバー {0} が死亡しました",
|
||||
"F_Client_ConnectedToServer": "ポート {0} でサーバーに接続しました",
|
||||
"F_Client_ServerStarted": "ポート {0} でサーバーを開始しました",
|
||||
"F_Client_CouldNotFindValidIP": "有効なローカルIPが見つかりません!",
|
||||
"F_Client_ReconnectRequested": "再接続が要求されました、遅延が予想されます…",
|
||||
"F_Client_PeerConnected": "ピアがポート {0} でサーバーに接続しました",
|
||||
"F_Client_PeerDisconnected": "ピアが {0} で切断しました、情報: {1}",
|
||||
"F_Client_ConnectingToSession": "セッションに接続中…",
|
||||
"F_Client_ItemIsBlacklisted": "{0} は送信がブラックリストに登録されています",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} には {1} が含まれており、送信がブラックリストに登録されています",
|
||||
"F_Client_SavedProfile": "プロファイル {0} を {1} に保存しました",
|
||||
"F_Client_UnknownError": "不明な例外が発生しました、ログファイルを確認してください",
|
||||
"F_Client_HostCannotExtract": "すべてのクライアントが切断されるまでゲームを終了することはできません",
|
||||
"F_Client_HostCannotExtractMenu": "まだ接続されているピアがいるため、切断できません! 残り: {0}",
|
||||
"F_Client_Wait5Seconds": "最後のピアが切断された後、終了する前に少なくとも5秒待ってください",
|
||||
"F_Client_StartingRaid": "レイドを開始しています、しばらくお待ちください…",
|
||||
"F_Client_LostConnection": "ホストとの接続が失われました",
|
||||
"F_Client_StartingRaidOnDedicated": "専用クライアントでレイドを開始しています… しばらくお待ちください",
|
||||
"F_SendItem_Header": "プレイヤーを選択",
|
||||
"F_SendItem_SendButton": "送信",
|
||||
"F_MMUI_RaidsHeader": "レイド",
|
||||
"F_MMUI_HostRaidButton": "レイドをホスト",
|
||||
"F_MMUI_JoinButton": "参加",
|
||||
"F_MMUI_SelectAmountHeader": "数を選択",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "何人がプレイしますか? (あなたを含めて)",
|
||||
"F_MMUI_UseDedicatedHost": "専用ホストを使用",
|
||||
"F_MMUI_StartButton": "開始",
|
||||
"F_MMUI_LoadingScreenHeader": "読み込み中",
|
||||
"F_MMUI_LoadingScreenDescription": "レイドの初期化中ですので、しばらくお待ちください... 時間がかかる場合があります。",
|
||||
"F_MMUI_JoinAsSpectator": "Join as spectator",
|
||||
"F_UI_StartRaid": "Start Raid",
|
||||
"F_UI_StartRaidDescription": "Starts the raid\nNew players will not be able to join",
|
||||
"F_UI_CannotJoinRaidOtherMap": "別のマップで行われているレイドには参加できません。\nレイドマップ: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "別の時間帯で行われているレイドには参加できません。",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "PMC として SCAV レイドには参加できません。",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "SCAV として PMC レイドには参加できません。",
|
||||
"F_UI_HostStillLoading": "ホストはまだ読み込み中です。",
|
||||
"F_UI_RaidInProgress": "レイドはすでに進行中です。",
|
||||
"F_UI_ReJoinRaid": "クリックでレイドに再参加します。",
|
||||
"F_UI_CannotReJoinRaidDied": "死亡したレイドには再参加できません。",
|
||||
"F_UI_JoinRaid": "クリックでレイドに参加します。",
|
||||
"F_UI_ErrorConnecting": "接続エラー",
|
||||
"F_UI_UnableToConnect": "サーバーに接続できません。すべてのポートが開いており、設定が正しく構成されていることを確認してください。",
|
||||
"F_UI_FikaPingerFailStart": "FikaPinger を開始できませんでした!",
|
||||
"F_UI_RefreshRaids": "アクティブなレイドのリストを更新する。",
|
||||
"F_UI_DedicatedError": "FIKA専用エラー",
|
||||
"F_UI_ErrorForceIPHeader": "IP強制エラー",
|
||||
"F_UI_ErrorForceIP": "'{0}' は接続するための有効なIPアドレスではありません! 'Force IP' 設定を確認してください。",
|
||||
"F_UI_ErrorBindIPHeader": "バインドエラー",
|
||||
"F_UI_ErrorBindIP": "'{0}' はバインドするための有効なIPアドレスではありません! 'Force Bind IP' 設定を確認してください。",
|
||||
"F_UI_NoDedicatedClients": "専用クライアントは利用できません。",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "ホストがレイドの初期化を終えるのを待っています…",
|
||||
"F_UI_WaitForOtherPlayers": "他のプレイヤーが読み込みを終えるのを待っています…",
|
||||
"F_UI_RetrieveSpawnInfo": "サーバーからスポーン情報を取得しています…",
|
||||
"F_UI_RetrieveLoot": "サーバーから戦利品を取得しています…",
|
||||
"F_UI_WaitForHostInit": "ホストがレイドを初期化するのを待っています…",
|
||||
"F_UI_Reconnecting": "再接続中…",
|
||||
"F_UI_RetrieveExfilData": "サーバーから脱出データを取得しています…",
|
||||
"F_UI_RetrieveInteractables": "サーバーから操作可能なオブジェクトを取得しています…",
|
||||
"F_UI_InitCoopGame": "協力ゲームを初期化しています…",
|
||||
"F_UI_AllPlayersJoined": "すべてのプレイヤーが参加しました、ゲームを開始します…",
|
||||
"F_UI_WaitingForConnect": "クライアントがサーバーに接続するのを待っています… 通知がない場合は失敗です。",
|
||||
"F_UI_ErrorConnectingToRaid": "レイドサーバーに接続できません。ポートの転送が設定されているか、UPnPが有効でサポートされていることを確認してください。",
|
||||
"F_UI_FinishingRaidInit": "レイドの初期化を終了しています…",
|
||||
"F_UI_SyncThrowables": "投擲物を同期しています…",
|
||||
"F_UI_SyncInteractables": "操作可能なオブジェクトを同期しています…",
|
||||
"F_UI_SyncLampStates": "ランプの状態を同期しています…",
|
||||
"F_UI_SyncWindows": "窓を同期しています…",
|
||||
"F_UI_ReceiveOwnPlayer": "自分のプレイヤーを受信しています…",
|
||||
"F_UI_FinishReconnect": "再接続を終了しています…",
|
||||
"F_Client_FreeCamInputDisabled": "フリーカメラ入力は無効です",
|
||||
"F_Client_FreeCamInputEnabled": "フリーカメラ入力は有効です",
|
||||
"F_UI_WaitForPlayer": "{0} プレイヤーを待っています",
|
||||
"F_UI_WaitForPlayers": "{0} プレイヤーを待っています",
|
||||
"F_UI_ToSLong": "Fika へようこそ!\n\nFika は SPT 用の協力プレイ Mod で、友達と一緒にプレイすることができます。Fika は無料であり、今後も無料で提供されます。もしお金を支払った場合、それは詐欺です。また、収益化や寄付を目的とした公開サーバーのホストは許可されていません。\n\n利用規約に同意するには、このメッセージが消えるまで待ってください。\n\nDiscord への参加はこちらから: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Fika へようこそ!\n\nFika は SPT 用の協力プレイ Mod で、友達と一緒にプレイすることができます。Fika は無料であり、今後も無料で提供されます。もしお金を支払った場合、それは詐欺です。また、収益化や寄付を目的とした公開サーバーのホストは許可されていません。\n\nDiscord への参加はこちらから: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "In this mode, you can play online co-op with your friends without the risk of meeting others.\nAll game mechanics in the co-op mode (weather, bots, bosses, etc.) are identical to the online mechanics.\nOnly the hosts settings will take effect.",
|
||||
"F_UI_CoopGameMode": "Fika Co-op Game Mode",
|
||||
"F_UI_CoopRaidSettings": "Fika Co-op Raid Settings",
|
||||
"F_UI_FikaAlwaysCoop": "Co-op is always enabled in Fika",
|
||||
"F_UI_UpnpFailed": "UPnP mapping failed. Make sure the selected port is not already open!\nDisable UPnP if you are using a VPN.",
|
||||
"F_UI_InitWeather": "Generating weather...",
|
||||
"F_Notification_RaidStarted": "{0} started a raid on {1}",
|
||||
"F_Notification_ItemReceived": "You received a {0} from {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "Editing of RaidSettings is disabled by the server host",
|
||||
"F_UI_ExtractMessage": "Press {0} to extract",
|
||||
"F_UI_DownloadProfile": "DOWNLOAD PROFILE",
|
||||
"F_BepInEx_H_Advanced": "Advanced",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Coop | Name Plates",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Coop | Quest Sharing",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Pinging",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Debug",
|
||||
"F_BepInEx_H_Performance": "Performance",
|
||||
"F_BepInEx_H_PerformanceBots": "Performance | Max Bots",
|
||||
"F_BepInEx_H_Network": "Network",
|
||||
"F_BepInEx_H_Gameplay": "Gameplay",
|
||||
"F_BepInEx_OfficialVersion_T": "Official Version",
|
||||
"F_BepInEx_OfficialVersion_D": "Show official version instead of Fika version.",
|
||||
"F_BepInEx_ShowFeed_T": "Show Feed",
|
||||
"F_BepInEx_ShowFeed_D": "Enable custom notifications when a player dies, extracts, kills a boss, etc.",
|
||||
"F_BepInEx_AutoExtract_T": "Auto Extract",
|
||||
"F_BepInEx_AutoExtract_D": "Automatically extracts after the extraction countdown. As a host, this will only work if there are no clients connected.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Show Extract Message",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Whether to show the extract message after dying/extracting.",
|
||||
"F_BepInEx_ExtractKey_T": "Extract Key",
|
||||
"F_BepInEx_ExtractKey_D": "The key used to extract from the raid.",
|
||||
"F_BepInEx_EnableChat_T": "Enable Chat",
|
||||
"F_BepInEx_EnableChat_D": "Toggle to enable chat in game. Cannot be change mid raid.",
|
||||
"F_BepInEx_ChatKey_T": "Chat Key",
|
||||
"F_BepInEx_ChatKey_D": "The key used to open the chat window.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Enable Online Players",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "If the online players menu should be shown in the menu.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Online Players Scale",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "The scale of the window that displays online players. Only change if it looks out of proportion.\n\nRequires a refresh of the main menu to take effect.",
|
||||
"F_BepInEx_UseNamePlates_T": "Show Player Name Plates",
|
||||
"F_BepInEx_UseNamePlates_D": "If name plates should be shown above teammates.",
|
||||
"F_BepInEx_HideHealthBar_T": "Hide Health Bar",
|
||||
"F_BepInEx_HideHealthBar_D": "Completely hides the health bar.",
|
||||
"F_BepInEx_UsePercent_T": "Show HP% instead of bar",
|
||||
"F_BepInEx_UsePercent_D": "Shows health in % amount instead of using the bar.",
|
||||
"F_BepInEx_ShowEffects_T": "Show Effects",
|
||||
"F_BepInEx_ShowEffects_D": "If status effects should be displayed below the health bar.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Show Player Faction Icon",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Shows the player faction icon next to the HP bar.",
|
||||
"F_BepInEx_HideInOptic_T": "Hide Name Plate in Optic",
|
||||
"F_BepInEx_HideInOptic_D": "Hides the name plate when viewing through PiP scopes.",
|
||||
"F_BepInEx_OpticUseZoom_T": "Name Plates Use Optic Zoom",
|
||||
"F_BepInEx_OpticUseZoom_D": "If name plate location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Decrease Opacity In Peripheral",
|
||||
"F_BepInEx_DecOpacPeri_D": "Decreases the opacity of the name plates when not looking at a player.",
|
||||
"F_BepInEx_NamePlateScale_T": "Name Plate Scale",
|
||||
"F_BepInEx_NamePlateScale_D": "Size of the name plates.",
|
||||
"F_BepInEx_AdsOpac_T": "Opacity in ADS",
|
||||
"F_BepInEx_AdsOpac_D": "The opacity of the name plates when aiming down sights.",
|
||||
"F_BepInEx_MaxDistance_T": "Max Distance to Show",
|
||||
"F_BepInEx_MaxDistance_D": "The maximum distance at which name plates will become invisible, starts to fade at half the input value.",
|
||||
"F_BepInEx_MinOpac_T": "Minimum Opacity",
|
||||
"F_BepInEx_MinOpac_D": "The minimum opacity of the name plates.",
|
||||
"F_BepInEx_MinPlateScale_T": "Minimum Name Plate Scale",
|
||||
"F_BepInEx_MinPlateScale_D": "The minimum scale of the name plates.",
|
||||
"F_BepInEx_UseOcclusion_T": "Use Occlusion",
|
||||
"F_BepInEx_UseOcclusion_D": "Use occlusion to hide the name plate when the player is out of sight.",
|
||||
"F_BepInEx_QuestTypes_T": "Quest Types",
|
||||
"F_BepInEx_QuestTypes_D": "Which quest types to receive and send. PlaceBeacon is both markers and items.",
|
||||
"F_BepInEx_QSNotifications_T": "Show Notifications",
|
||||
"F_BepInEx_QSNotifications_D": "If a notification should be shown when quest progress is shared with out.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Easy Kill Conditions",
|
||||
"F_BepInEx_EasyKillConditions_D": "Enables easy kill conditions. When this is used, any time a friendly player kills something, it treats it as if you killed it for your quests as long as all conditions are met.\nThis can be inconsistent and does not always work.",
|
||||
"F_BepInEx_SharedKillXP_T": "Shared Kill Experience",
|
||||
"F_BepInEx_SharedKillXP_D": "If enabled you will receive ½ of the experience when a friendly player kills an enemy (not bosses).",
|
||||
"F_BepInEx_SharedBossXP_T": "Shared Boss Experience",
|
||||
"F_BepInEx_SharedBossXP_D": "If enabled you will receive ½ of the experience when a friendly player kills a boss.",
|
||||
"F_BepInEx_PingSystem_T": "Ping System",
|
||||
"F_BepInEx_PingSystem_D": "Toggle Ping System. If enabled you can receive and send pings by pressing the ping key.",
|
||||
"F_BepInEx_PingButton_T": "Ping Button",
|
||||
"F_BepInEx_PingButton_D": "Button used to send pings.",
|
||||
"F_BepInEx_PingColor_T": "Ping Color",
|
||||
"F_BepInEx_PingColor_D": "The color of your pings when displayed for other players.",
|
||||
"F_BepInEx_PingSize_T": "Ping Size",
|
||||
"F_BepInEx_PingSize_D": "The multiplier of the ping size.",
|
||||
"F_BepInEx_PingTime_T": "Ping Time",
|
||||
"F_BepInEx_PingTime_D": "How long pings should be displayed.",
|
||||
"F_BepInEx_PingAnimation_T": "Play Ping Animation",
|
||||
"F_BepInEx_PingAnimation_D": "Plays the pointing animation automatically when pinging. Can interfere with gameplay.",
|
||||
"F_BepInEx_PingOptics_T": "Show Ping During Optics",
|
||||
"F_BepInEx_PingOptics_D": "If pings should be displayed while aiming down an optics scope.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Ping Use Optic Zoom",
|
||||
"F_BepInEx_PingOpticZoom_D": "If ping location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Ping Scale With Distance",
|
||||
"F_BepInEx_PingScaleDistance_D": "If ping size should scale with distance from player.",
|
||||
"F_BepInEx_PingMinOpac_T": "Ping Minimum Opacity",
|
||||
"F_BepInEx_PingMinOpac_D": "The minimum opacity of pings when looking straight at them.",
|
||||
"F_BepInEx_PingRange_T": "Show Ping Range",
|
||||
"F_BepInEx_PingRange_D": "Shows the range from your player to the ping if enabled.",
|
||||
"F_BepInEx_PingSound_T": "Ping Sound",
|
||||
"F_BepInEx_PingSound_D": "The audio that plays on ping",
|
||||
"F_BepInEx_FreeCamButton_T": "Free Camera Button",
|
||||
"F_BepInEx_FreeCamButton_D": "Button used to toggle free camera.",
|
||||
"F_BepInEx_SpectateBots_T": "Allow Spectating Bots",
|
||||
"F_BepInEx_SpectateBots_D": "If we should allow spectating bots if all players are dead/extracted.",
|
||||
"F_BepInEx_AZERTYMode_T": "AZERTY Mode",
|
||||
"F_BepInEx_AZERTYMode_D": "If free camera should use AZERTY keys for input.",
|
||||
"F_BepInEx_DroneMode_T": "Drone Mode",
|
||||
"F_BepInEx_DroneMode_D": "If the free camera should move only along the vertical axis like a drone.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Keybind Overlay",
|
||||
"F_BepInEx_KeybindOverlay_D": "If an overlay with all free cam keybinds should show.",
|
||||
"F_BepInEx_DynamicAI_T": "Dynamic AI",
|
||||
"F_BepInEx_DynamicAI_D": "Use the dynamic AI system, disabling AI when they are outside of all player's range.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Dynamic AI Range",
|
||||
"F_BepInEx_DynamicAIRange_D": "The range at which AI will be disabled dynamically.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Dynamic AI Rate",
|
||||
"F_BepInEx_DynamicAIRate_D": "How often DynamicAI should scan for the range from all players.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignore Snipers",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Whether Dynamic AI should ignore sniper scavs.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Enforced Spawn Limits",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Enforces spawn limits when spawning bots, making sure to not go over the vanilla limits. This mainly takes affect when using spawn mods or anything that modifies the bot limits. Will not block spawns of special bots like bosses.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Despawn Furthest",
|
||||
"F_BepInEx_DespawnFurthest_D": "When enforcing spawn limits, should the furthest bot be de-spawned instead of blocking the spawn. This will make for a much more active raid on a lower Max Bots count. Helpful for weaker PCs. Will only despawn pmcs and scavs. If you don't run a dynamic spawn mod, this will however quickly exhaust the spawns on the map, making the raid very dead instead.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Despawn Minimum Distance",
|
||||
"F_BepInEx_DespawnMinDistance_D": "The minimum distance to despawn a bot.",
|
||||
"F_BepInEx_MaxBots_T": "Max Bots {0}",
|
||||
"F_BepInEx_MaxBots_D": "Max amount of bots that can be active at the same time on {0}. Useful if you have a weaker PC. Set to 0 to use vanilla limits. Cannot be changed during a raid.",
|
||||
"F_BepInEx_NativeSockets_T": "Native Sockets",
|
||||
"F_BepInEx_NativeSockets_D": "Use NativeSockets for gameplay traffic. This uses direct socket calls for send/receive to drastically increase speed and reduce GC pressure. Only for Windows/Linux and might not always work.",
|
||||
"F_BepInEx_ForceIP_T": "Force IP",
|
||||
"F_BepInEx_ForceIP_D": "Forces the server when hosting to use this IP when broadcasting to the backend instead of automatically trying to fetch it. Leave empty to disable.",
|
||||
"F_BepInEx_ForceBindIP_T": "Force Bind IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Forces the server when hosting to use this local adapter when starting the server. Useful if you are hosting on a VPN.",
|
||||
"F_BepInEx_UDPPort_T": "UDP Port",
|
||||
"F_BepInEx_UDPPort_D": "Port to use for UDP gameplay packets.",
|
||||
"F_BepInEx_UseUPnP_T": "Use UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Attempt to open ports using UPnP. Useful if you cannot open ports yourself but the router supports UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Use NAT Punching",
|
||||
"F_BepInEx_UseNatPunch_D": "Use NAT punching when hosting a raid. Only works with fullcone NAT type routers and requires NatPunchServer to be running on the SPT server. UPnP, Force IP and Force Bind IP are disabled with this mode.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Connection Timeout",
|
||||
"F_BepInEx_ConnectionTimeout_D": "How long it takes for a connection to be considered dropped if no packets are received.",
|
||||
"F_BepInEx_SendRate_T": "Send Rate",
|
||||
"F_BepInEx_SendRate_D": "How often per second movement packets should be sent (lower = less bandwidth used, slight more delay during interpolation)\nThis only affects the host and will be synchronized to all clients.\nAmount is per second:\n\nVery Low = 10\nLow = 15\nMedium = 20\nHigh = 30\n\nRecommended to leave at no higher than Medium as the gains are insignificant after.",
|
||||
"F_BepInEx_SmoothingRate_T": "Smoothing Rate",
|
||||
"F_BepInEx_SmoothingRate_D": "Local simulation is behind by (Send Rate * Smoothing Rate). This guarantees that we always have enough snapshots in the buffer to mitigate lags & jitter during interpolation.\n\nLow = 1.5\nMedium = 2\nHigh = 2.5\n\nSet this to 'High' if movement isn't smooth. Cannot be changed during a raid.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Disable Bot Metabolism",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Disables metabolism on bots, preventing them from dying from loss of energy/hydration during long raids.",
|
||||
"F_MMUI_OnlinePlayers": "ONLINE PLAYERS: {0}",
|
||||
"F_MMUI_InMenu": "In Menu",
|
||||
"F_MMUI_InRaid": "In Raid",
|
||||
"F_MMUI_InStash": "In Stash",
|
||||
"F_MMUI_InHideout": "In Hideout",
|
||||
"F_MMUI_InFlea": "In Flea",
|
||||
"F_MMUI_RaidDetails": "Playing as a {0} on {1}\nTime: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "SPT 오프라인 코옵모드 FIKA 에 오신걸 환영합니다.",
|
||||
"NDA free warning": "게임을 호스팅하거나 참가하기 위해서는 맵을 선택하고 시작직전단계에서 서버 브라우저를 이용하실 수 있습니다.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "{0} 으로부터 {1} 퀘스트 공유진행을 전달받았습니다",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} 이(가) {1} 을 주웠습니다.",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} 이(가) {1} 을 하기 위해 아이템을 설치했습니다.",
|
||||
"F_Client_ReceivePing": "{0} 으로 부터 핑을 수신했습니다.",
|
||||
"F_Client_ReceivePingObject": "{0} 이(가) {1} {2} 를 표시했습니다",
|
||||
"F_Client_RandomSpawnPoints": "랜덤 스폰장소를 적용합니다",
|
||||
"F_Client_MetabolismDisabled": "신진대사 비활성화",
|
||||
"F_Client_YouAreMIA": "작전 중 실종되었습니다...",
|
||||
"F_Client_KilledBoss": "{0}(이) 가 {1} 보스를 사살하였습니다.",
|
||||
"F_Client_GroupMemberSpawned": "그룹 멤버 {0} 이(가) 스폰하였습니다.",
|
||||
"F_Client_GroupMemberExtracted": "그룹 멤버 {0} 이(가) 탈출하였습니다.",
|
||||
"F_Client_GroupMemberDiedFrom": "그룹 멤버 {0} 이(가) {1}에 의해 사망했습니다",
|
||||
"F_Client_GroupMemberDied": "그룹 멤버 {0} 이(가) 사망하였습니다.",
|
||||
"F_Client_ConnectedToServer": "포트 {0} 의 서버에 참여하였습니다.",
|
||||
"F_Client_ServerStarted": "포트 {0} 에서 서버가 시작되었습니다",
|
||||
"F_Client_CouldNotFindValidIP": "유효한 로컬 ip를 찾을 수 없습니다",
|
||||
"F_Client_ReconnectRequested": "재참여 요청중, 랙이 걸릴 수 있습니다...",
|
||||
"F_Client_PeerConnected": "{0} 포트로 클라이언트가 접속하였습니다",
|
||||
"F_Client_PeerDisconnected": "클라이언트가 접속을 해제하였습니다 {0}, info: {1}",
|
||||
"F_Client_ConnectingToSession": "세션 참가중....",
|
||||
"F_Client_ItemIsBlacklisted": "{0}은 전송아이템 블랙리스트 되어있습니다",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0}에 블랙리스트 아이템인 {1}이 들어있어 보낼 수 없습니다",
|
||||
"F_Client_SavedProfile": "프로필 {0}을 {1}에 저장하였습니다",
|
||||
"F_Client_UnknownError": "알 수 없는 예외처리가 발생하였습니다. 로그를 확인해주십시오.",
|
||||
"F_Client_HostCannotExtract": "모든 참가자가 접속해제하기 전까지 게임을 나갈 수 없습니다.",
|
||||
"F_Client_HostCannotExtractMenu": "참가자가 연결되어 있는 동안 접속해제할 수 없습니다. 남은 참가자: {0}",
|
||||
"F_Client_Wait5Seconds": "마지막 피어가 연결을 끝내고 난 뒤, 5초간 대기 해 주십시오,",
|
||||
"F_Client_StartingRaid": "레이드를 시작 중입니다. 잠시만 기다려주십시오...",
|
||||
"F_Client_LostConnection": "호스트로부터 연결이 끊겼습니다.",
|
||||
"F_Client_StartingRaidOnDedicated": "전담 클라이언트로 레이드를 시작합니다. 기다려 주십시오.",
|
||||
"F_SendItem_Header": "플레이어 선택",
|
||||
"F_SendItem_SendButton": "보내기",
|
||||
"F_MMUI_RaidsHeader": "레이드 목록",
|
||||
"F_MMUI_HostRaidButton": "레이드 호스트하기",
|
||||
"F_MMUI_JoinButton": "참가",
|
||||
"F_MMUI_SelectAmountHeader": "양을 선택하십시오.",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "당신을 포함하여 몇 명의 플레이어가 참가합니까?",
|
||||
"F_MMUI_UseDedicatedHost": "전담 호스트를 사용하여 주십시오",
|
||||
"F_MMUI_StartButton": "시작",
|
||||
"F_MMUI_LoadingScreenHeader": "로딩 중",
|
||||
"F_MMUI_LoadingScreenDescription": "레이드를 동기화하는 중입니다... 잠시만 기다려주십시오.",
|
||||
"F_MMUI_JoinAsSpectator": "관전모드로 참여하기",
|
||||
"F_UI_StartRaid": "Start Raid",
|
||||
"F_UI_StartRaidDescription": "Starts the raid\nNew players will not be able to join",
|
||||
"F_UI_CannotJoinRaidOtherMap": "다른 맵에서 진행중인 레이드에는 참가 할 수 없습니다.\n레이드 맵: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "다른 시간대의 레이드에는 참가할 수 없습니다.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "PMC 캐릭터로는 Scav레이드에 참가 할 수없습니다.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "Scav 캐릭터로는 PMC레이드에 참여할 수 없습니다.",
|
||||
"F_UI_HostStillLoading": "호스트가 아직 로딩 중 입니다.",
|
||||
"F_UI_RaidInProgress": "레이드가 이미 진행 중입니다.",
|
||||
"F_UI_ReJoinRaid": "클릭하여 레이드에 재참가합니다.",
|
||||
"F_UI_CannotReJoinRaidDied": "이미 사망한 레이드에는 재참할 수 없습니다.",
|
||||
"F_UI_JoinRaid": "클릭하여 레이드에 참가합니다.",
|
||||
"F_UI_ErrorConnecting": "연결 오류",
|
||||
"F_UI_UnableToConnect": "서버에 접속하지 못하였습니다. 모든 포트가 열려있고 모든 설정이 올바르게 되어있는지 확인하여 주십시오.",
|
||||
"F_UI_FikaPingerFailStart": "피카 핑 생성기를 시작할 수 없습니다.",
|
||||
"F_UI_RefreshRaids": "현재 진행중인 레이드 리스트를 새로고침 하십시오.",
|
||||
"F_UI_DedicatedError": "피카 전담 에러",
|
||||
"F_UI_ErrorForceIPHeader": "IP강제 에러",
|
||||
"F_UI_ErrorForceIP": "{0} 은 유효한 IP주소가 아닙니다. IP강제하기 설정을 확인하십시오.",
|
||||
"F_UI_ErrorBindIPHeader": "바인딩 에러",
|
||||
"F_UI_ErrorBindIP": "{0} 은 바인드하기 유효한 IP주소가 아닙니다. IP 강제 바인드 설정을 확인해주십시오.",
|
||||
"F_UI_NoDedicatedClients": "사용가능한 전담 클라이언트가 없습니다.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "호스트의 레이드 초기화 대기중",
|
||||
"F_UI_WaitForOtherPlayers": "다른 플레이어들의 로딩 대기중",
|
||||
"F_UI_RetrieveSpawnInfo": "서버에서 스폰 정보 받아오는중",
|
||||
"F_UI_RetrieveLoot": "서버에서 전리품 불러오는중",
|
||||
"F_UI_WaitForHostInit": "호스트의 레이드 초기화 기다리는중",
|
||||
"F_UI_Reconnecting": "재연결중",
|
||||
"F_UI_RetrieveExfilData": "서버에서 탈출구 데이터 불러오는중",
|
||||
"F_UI_RetrieveInteractables": "서버에서 상호작용물체 불러오는중",
|
||||
"F_UI_InitCoopGame": "코옵 게임 초기화중",
|
||||
"F_UI_AllPlayersJoined": "모든 플레이어가 접속하여 게임을 시작합니다.",
|
||||
"F_UI_WaitingForConnect": "클라이언트가 서버에 연결하기를 기다리는중. 알림이 없으면 실패한 것 입니다.",
|
||||
"F_UI_ErrorConnectingToRaid": "레이드 서버에 연결할 수 없습니다. 포트포워딩 상태와 UPnP의 활성화 여부를 확인바랍니다.",
|
||||
"F_UI_FinishingRaidInit": "레이드 초기화 마무리 중",
|
||||
"F_UI_SyncThrowables": "투척류 동기화중",
|
||||
"F_UI_SyncInteractables": "상호작용물체 동기화중",
|
||||
"F_UI_SyncLampStates": "광원상태 동기화중",
|
||||
"F_UI_SyncWindows": "창 동기화 중",
|
||||
"F_UI_ReceiveOwnPlayer": "캐릭터 받는 중",
|
||||
"F_UI_FinishReconnect": "재접속 마무리 중",
|
||||
"F_Client_FreeCamInputDisabled": "프리캠 입력 비활성화",
|
||||
"F_Client_FreeCamInputEnabled": "프리캠 입력 활성화",
|
||||
"F_UI_WaitForPlayer": "플레이어 {0}명 대기중",
|
||||
"F_UI_WaitForPlayers": "플레이어 {0}명 대기중",
|
||||
"F_UI_ToSLong": "Fika에 오신 것을 환영합니다! \n\nFika는 SPT를 위한 협동 모드로, 친구들과 함께 플레이할 수 있게 해줍니다. Fika는 현재도 그렇고 앞으로도 항상 무료일 것입니다. 만약 이에 대해 돈을 지불했다면 사기를 당한 것입니다. 또한 수익화나 기부를 받는 공개 서버를 호스팅하는 것은 허용되지 않습니다. \n\n이 메시지가 사라질 때까지 기다리면 우리의 서비스 약관에 동의하는 것입니다. \n\n다음 링크를 통해 우리의 Discord에 참여하실 수 있습니다: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Fika에 오신 것을 환영합니다! \n\nFika는 SPT를 위한 코옵 모드입니다. Fika는 무료 소프트웨어 입니다. 만약 돈을 지불했다면 사기를 당한 것입니다. 또한 수익화나 기부를 받는 공개 서버를 호스팅하는 것은 허용되지 않습니다. \n\n이 메시지가 사라질 때까지 기다리면 우리의 서비스 약관에 동의하는 것입니다. \n\n다음 링크를 통해 디스코드에 참여하실 수 있습니다: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "이 모드에서는 본섭에서 느꼈을 모르는 사람들과 경쟁하는 걱정없이 친구들과 함께 코옵을 즐길 수 있습니다.\\n날씨, 봇, 보스 등과 같은 대부분의 게임 요소들은 본섭과 동일합니다.\\n방을 판 사람(서버 킨 사람 x) 설정을 따라가게 되어있습니다.",
|
||||
"F_UI_CoopGameMode": "Fika 코옵 게임모드",
|
||||
"F_UI_CoopRaidSettings": "Fika 코옵 레이드 설정",
|
||||
"F_UI_FikaAlwaysCoop": "Fika에서 코옵기능은 항상 켜져있습니다.",
|
||||
"F_UI_UpnpFailed": "UPnP 매핑 실패. 선택한 포트가 이미 열려있지 않은지 확인해주세요\\nVPN을 사용중이라면 UPnP를 꺼주세요.",
|
||||
"F_UI_InitWeather": "날씨 생성 중...",
|
||||
"F_Notification_RaidStarted": "{0} 가 {1} 에서 레이드를 시작하였습니다",
|
||||
"F_Notification_ItemReceived": "{1} 에게서 {0} 를 받았습니다",
|
||||
"F_Notification_RaidSettingsDisabled": "레이드 설정 편집이 서버 호스트에 의해서 비활성화 되어있습니다.",
|
||||
"F_UI_ExtractMessage": "{0} 을 눌러 탈출을 완료하세요",
|
||||
"F_UI_DownloadProfile": "DOWNLOAD PROFILE",
|
||||
"F_BepInEx_H_Advanced": "고급",
|
||||
"F_BepInEx_H_Coop": "코옵",
|
||||
"F_BepInEx_H_Coop_NamePlates": "코옵 | 네임 플레이트",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "코옵 | 퀘스트 공유",
|
||||
"F_BepInEx_H_Coop_Pinging": "코옵 | 핑",
|
||||
"F_BepInEx_H_Coop_Debug": "코옵 | 디버그",
|
||||
"F_BepInEx_H_Performance": "성능",
|
||||
"F_BepInEx_H_PerformanceBots": "성능 | 최대 봇",
|
||||
"F_BepInEx_H_Network": "네트워크",
|
||||
"F_BepInEx_H_Gameplay": "게임플레이",
|
||||
"F_BepInEx_OfficialVersion_T": "공식 버전",
|
||||
"F_BepInEx_OfficialVersion_D": "피카 버전 대신 공식 버전 보이기",
|
||||
"F_BepInEx_ShowFeed_T": "피드 보이기",
|
||||
"F_BepInEx_ShowFeed_D": "플레이어가 죽거나 탈출하거나 보스 킬 등을 할 경우 뜨는 커스텀 메시지 알림 활성화",
|
||||
"F_BepInEx_AutoExtract_T": "자동 탈출완료",
|
||||
"F_BepInEx_AutoExtract_D": "탈출 카운트다운 후 자동으로 탈출을 완료합니다. 호스트에게는 다른 연결된 클라이언트가 없거나 모두 탈출완료한 경우에만 적용됩니다.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "탈출 메시지 보이기",
|
||||
"F_BepInEx_ShowExtractMessage_D": "죽거나 탈출 후 알림 메시지 띄우기",
|
||||
"F_BepInEx_ExtractKey_T": "탈출완료 키",
|
||||
"F_BepInEx_ExtractKey_D": "레이드 탈출완료 버튼",
|
||||
"F_BepInEx_EnableChat_T": "챗 활성화",
|
||||
"F_BepInEx_EnableChat_D": "게임에서 챗 기능 활성화 토글 버튼. 레이드 도중에도 토글 가능합니다.",
|
||||
"F_BepInEx_ChatKey_T": "챗 키",
|
||||
"F_BepInEx_ChatKey_D": "채팅창 키",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "접속중 플레이어 메뉴 활성화",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "접속중인 플레이어 리스트 메뉴 띄우기",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "접속중 리스트 창 비율",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "접속중인 플레이어 리스트 창 크기 조절. 창 비율이 이상할때만 조절하세요.\n\n메인 메뉴 리프레시 후에 적용됩니다.",
|
||||
"F_BepInEx_UseNamePlates_T": "플레이어 네임 플레이트 보이기",
|
||||
"F_BepInEx_UseNamePlates_D": "팀원들 네임 플레이트 보이기 여부",
|
||||
"F_BepInEx_HideHealthBar_T": "체력 바 숨기기",
|
||||
"F_BepInEx_HideHealthBar_D": "체력 바를 완전히 숨깁니다",
|
||||
"F_BepInEx_UsePercent_T": "체력 바 대신에 %로 표시",
|
||||
"F_BepInEx_UsePercent_D": "체력 바를 보이는 대신에 퍼센티지로 표시합니다.",
|
||||
"F_BepInEx_ShowEffects_T": "효과 보이기",
|
||||
"F_BepInEx_ShowEffects_D": "체력 바 하단에 상태효과를 표시할지 여부",
|
||||
"F_BepInEx_ShowFactionIcon_T": "플레이어 진영 아이콘 보이기",
|
||||
"F_BepInEx_ShowFactionIcon_D": "체력 바 옆에 플레이어 진영을 표시할지 여부",
|
||||
"F_BepInEx_HideInOptic_T": "조준경 사용 시 네임 플레이트 숨기기",
|
||||
"F_BepInEx_HideInOptic_D": "PiP 타입의 스코프 이용할 때에 플레이어 네임 플레이트를 숨겨줍니다.",
|
||||
"F_BepInEx_OpticUseZoom_T": "옵틱 줌 시에 네임 플레이트 사용",
|
||||
"F_BepInEx_OpticUseZoom_D": "PiP 타입 옵틱에 네임 플레이트 위치가 보이게 할지 여부",
|
||||
"F_BepInEx_DecOpacPeri_T": "주변을 보고 있을 때 네임 플레이트 투명화",
|
||||
"F_BepInEx_DecOpacPeri_D": "플레이어를 주시하지 않을 때 네임플레이트를 반투명하게 합니다.",
|
||||
"F_BepInEx_NamePlateScale_T": "네임 플레이트 비율",
|
||||
"F_BepInEx_NamePlateScale_D": "네임 플레이트 크기",
|
||||
"F_BepInEx_AdsOpac_T": "조준 시 투명도",
|
||||
"F_BepInEx_AdsOpac_D": "조준 시에 네임 플레이트들의 투명도",
|
||||
"F_BepInEx_MaxDistance_T": "보이기 최대거리",
|
||||
"F_BepInEx_MaxDistance_D": "이 거리를 벗어나면 네임 플레이트가 설정된 값의 반 정도를 시작으로 점점 투명해집니다.",
|
||||
"F_BepInEx_MinOpac_T": "최소 투명도",
|
||||
"F_BepInEx_MinOpac_D": "네임 플레이트들의 최소 투명도",
|
||||
"F_BepInEx_MinPlateScale_T": "최소 네임 플레이트 비율",
|
||||
"F_BepInEx_MinPlateScale_D": "네임 플레이트들의 최소 비율",
|
||||
"F_BepInEx_UseOcclusion_T": "오클루전 사용",
|
||||
"F_BepInEx_UseOcclusion_D": "오크루전으로 플레이어가 시야에서 벗어나면 네임플레이트를 숨깁니다.",
|
||||
"F_BepInEx_QuestTypes_T": "퀘스트 타입",
|
||||
"F_BepInEx_QuestTypes_D": "보내거나 받을 퀘스트 타입. 비컨 설치하기는 마커랑 아이템 둘 다 해당됩니다.",
|
||||
"F_BepInEx_QSNotifications_T": "알림 보이기",
|
||||
"F_BepInEx_QSNotifications_D": "퀘스트 공유가 활성화 상태일 때 알림이 표시되는지 여부",
|
||||
"F_BepInEx_EasyKillConditions_T": "쉬운 킬 조건",
|
||||
"F_BepInEx_EasyKillConditions_D": "쉬운 킬 조건 활성화. 활성화 되면 아군이 적을 죽일때마다 본인이 죽인걸로 간주되어 퀘스트 진행에 도움을 줍니다. 불안정한 기능이라 때때로 작동하지 않을 수 있습니다.",
|
||||
"F_BepInEx_SharedKillXP_T": "킬 경험치 공유",
|
||||
"F_BepInEx_SharedKillXP_D": "활성화 하면 아군이 보스를 사살할 때마다 경험치의 반을 공유받습니다",
|
||||
"F_BepInEx_SharedBossXP_T": "보스 경험치 공유",
|
||||
"F_BepInEx_SharedBossXP_D": "활성화 하면 아군이 보스를 사살할 때마다 경험치의 반을 공유받습니다",
|
||||
"F_BepInEx_PingSystem_T": "핑 시스템",
|
||||
"F_BepInEx_PingSystem_D": "핑 시스템 토글. 활성화 하면 핑 키를 눌러 핑을 보내거나 받을 수 있습니다.",
|
||||
"F_BepInEx_PingButton_T": "핑 버튼",
|
||||
"F_BepInEx_PingButton_D": "핑 보내기 버튼",
|
||||
"F_BepInEx_PingColor_T": "핑 색",
|
||||
"F_BepInEx_PingColor_D": "다른 플레이어들에게 보이는 본인의 핑 컬러",
|
||||
"F_BepInEx_PingSize_T": "핑 크기",
|
||||
"F_BepInEx_PingSize_D": "핑 크기 배율",
|
||||
"F_BepInEx_PingTime_T": "핑 시간",
|
||||
"F_BepInEx_PingTime_D": "핑 표시 지속시간",
|
||||
"F_BepInEx_PingAnimation_T": "핑 에니메이션 플레이",
|
||||
"F_BepInEx_PingAnimation_D": "핑을 할때 해당 위치를 가리키는 손동작을 합니다. 게임플레이에 영향을 끼칩니다.",
|
||||
"F_BepInEx_PingOptics_T": "옵틱 사용 중 핑 표시",
|
||||
"F_BepInEx_PingOptics_D": "옵틱 스코프 조준 시 핑들이 보이게 할지 여부",
|
||||
"F_BepInEx_PingOpticZoom_T": "옵틱 줌 시에 핑 사용",
|
||||
"F_BepInEx_PingOpticZoom_D": "PiP 옵틱 카메라로 핑 위치가 보이게 할 지 여부",
|
||||
"F_BepInEx_PingScaleDistance_T": "핑 크기 거리와 비례",
|
||||
"F_BepInEx_PingScaleDistance_D": "플레이어로부터의 거리에 비례하여 핑 크기를 조절할 지 여부",
|
||||
"F_BepInEx_PingMinOpac_T": "핑 최소 투명도",
|
||||
"F_BepInEx_PingMinOpac_D": "핑을 정확히 바라볼 때의 투명도",
|
||||
"F_BepInEx_PingRange_T": "핑 거리 보이기",
|
||||
"F_BepInEx_PingRange_D": "플레이어로부터 핑 까지의 거리 보이기 여부",
|
||||
"F_BepInEx_PingSound_T": "핑 사운드",
|
||||
"F_BepInEx_PingSound_D": "핑 찍을때 나는 사운드",
|
||||
"F_BepInEx_FreeCamButton_T": "프리캠 버튼",
|
||||
"F_BepInEx_FreeCamButton_D": "토글 방식의 프리캠 버튼",
|
||||
"F_BepInEx_SpectateBots_T": "봇 관전 허용",
|
||||
"F_BepInEx_SpectateBots_D": "모든 플레이어가 죽거나 탈출한 경우 봇 관전을 허용할지 여부",
|
||||
"F_BepInEx_AZERTYMode_T": "AZERTY 모드",
|
||||
"F_BepInEx_AZERTYMode_D": "프리캠 시에 AZERTY 키로 입력을 받을지 여부AZERTY 키로 입력을 받을지 여부",
|
||||
"F_BepInEx_DroneMode_T": "드론 모드",
|
||||
"F_BepInEx_DroneMode_D": "프리캠 시에 드론처럼 수직 축을 기준으로 움직일지 여부",
|
||||
"F_BepInEx_KeybindOverlay_T": "키바인드 오버레이",
|
||||
"F_BepInEx_KeybindOverlay_D": "프리캠 키바인드가 나와있는 오버레이 표시 여부",
|
||||
"F_BepInEx_DynamicAI_T": "다이나믹 AI",
|
||||
"F_BepInEx_DynamicAI_D": "다이나믹 AI 사용 여부. 플레이어로부터 일정거리 이상 떨어진 봇의 AI 비활성화",
|
||||
"F_BepInEx_DynamicAIRange_T": "다이나믹 AI 거리",
|
||||
"F_BepInEx_DynamicAIRange_D": "AI 비활성화 거리가 다이나믹하게 활성화/비활성화 됩니다.",
|
||||
"F_BepInEx_DynamicAIRate_T": "다이나믹 AI 빈도",
|
||||
"F_BepInEx_DynamicAIRate_D": "다이나믹 Ai 적용 시 플레이어로부터 거리를 얼마나 자주 스캔할지",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "스나이퍼 무시",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "다이나믹 AI 적용 시 스나이퍼 스캐브는 건너뛸지 여부",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "스폰 제한 강제",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "봇 스폰 시에 최대 스폰 수 제한 적용, 바닐라 제한 넘지 않도록 주의. 봇 스폰 관련 모드를 사용하게되면 이 제한에 영항을 받게 됩니다. 보스같은 특수 봇 타입은 영향을 받지 않습니다.",
|
||||
"F_BepInEx_DespawnFurthest_T": "최대거리 봇 디스폰",
|
||||
"F_BepInEx_DespawnFurthest_D": "스폰 제한을 걸때 추가 스폰을 제한하지 않고 가장 멀리있는 봇을 디스폰 시킵니다. 이렇게 하면 작은 최대 봇 수 제한을 가지고서도 보다 생동감 있는 레이드를 경험할 수 있습니다. 저사양 pc들에 도움이 되며 pmc랑 스캐브만 디스폰 시킵니다. 다만 다이나믹 방식의 스폰 모드를 따로 사용하지 않을경우 봇 머릿수를 빠르게 소진하면서 레이드가 거의 빈 방이 될 수도 있습니다.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "디스폰 최소거리",
|
||||
"F_BepInEx_DespawnMinDistance_D": "플레이어 기준 해당 거리부터 봇 디스폰이 가능해짐",
|
||||
"F_BepInEx_MaxBots_T": "최대 봇 {0}",
|
||||
"F_BepInEx_MaxBots_D": "{0} 에서 활성화 생태를 유지할 수 있는 최대 봇 마릿수. 저사양 pc에 도움이 되며 0으로 설정하면 바닐라 제한을 사용합니다. 레이드 중간에 바꿀 수 없습니다.",
|
||||
"F_BepInEx_NativeSockets_T": "네이티브 소켓",
|
||||
"F_BepInEx_NativeSockets_D": "게임플레이 데이터 송수신으로 네이티브 소켓을 이용합니다. 다이렉트 소켓 콜을 이용하여 속도를 효과적으로 높이며 GC 영향력을 줄입니다. 윈도우/리눅스 전용이며 때때로 작동하지 않을 수 있습니다.",
|
||||
"F_BepInEx_ForceIP_T": "IP 강제",
|
||||
"F_BepInEx_ForceIP_D": "호스팅 시 서버가 백엔드에 브로드케스팅 할때 자동으로 가져오지 않고 해당 IP를 사용하도록 강제합니다. 비워두면 비활성화 됩니다.",
|
||||
"F_BepInEx_ForceBindIP_T": "IP 강제 바인드",
|
||||
"F_BepInEx_ForceBindIP_D": "서버 호스팅 시 서버가 시작될 때 로컬 어댑터를 사용하도록 강제합니다. VPN 사용시 유용합니다.",
|
||||
"F_BepInEx_UDPPort_T": "UDP 포트",
|
||||
"F_BepInEx_UDPPort_D": "UDP 패킷 전송시 사용하는 포트",
|
||||
"F_BepInEx_UseUPnP_T": "UPnP 사용",
|
||||
"F_BepInEx_UseUPnP_D": "UPnP를 사용하여 포트 개방 시도. 직접 포트를 열지 못하는데 라우터가 UPnP를 지원하는 경우 유용함",
|
||||
"F_BepInEx_UseNatPunch_T": "NAT 펀칭 사용",
|
||||
"F_BepInEx_UseNatPunch_D": "레이드 호스팅 시에 NAT 펀칭을 사용. fullcone NAT 타입 라우터만 호환가능하며 NatPunchServer가 SPT 서버에 동작중이여야 함. 해당 기능 사용 시 UPnP, IP강제, IP강제 바인드는 모두 비활성화 됨.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "연결 타임아웃",
|
||||
"F_BepInEx_ConnectionTimeout_D": "해당 시간동안 패킷을 받지 못하면 연결을 드랍한걸로 간주함",
|
||||
"F_BepInEx_SendRate_T": "전송률",
|
||||
"F_BepInEx_SendRate_D": "초당 얼마나 움직임 패킷을 보낼 지 설정.(적을수록 대역폭을 적게 사용하지만 보간과정에서 시간 더 소요)\n호스트만 영향을 받으며 모든 클라이언트와 동기화 됨.\n초당 값임\n\nVery Low = 10\nLow = 15\nMedium = 20\nHigh = 30\n\nMedium 보다 높히지 않을것을 권장함. 그 이상은 마진이 미비함.",
|
||||
"F_BepInEx_SmoothingRate_T": "평활화 레이트",
|
||||
"F_BepInEx_SmoothingRate_D": "로컬 시뮬레이션은 전송률*평활화 레이트 이하로 따라감. 이를 통해서 버퍼에 스냅샷을 충분히 유지하여 보간 과정에서 랙과 끊김을 완화시킴.\n\nLow = 1.5\nMedium = 2\nHigh = 2.5\n\n움직임이 부드럽지 않으면 High로 설정하기를 권장. 레이드 도중에 변경할 수 없음.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "봇 신진대사 비활성화",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "봇 신진대사 가능 비활성화, 물/밥 부족으로 봇들이 죽는것 방지.",
|
||||
"F_MMUI_OnlinePlayers": "ONLINE PLAYERS: {0}",
|
||||
"F_MMUI_InMenu": "In Menu",
|
||||
"F_MMUI_InRaid": "In Raid",
|
||||
"F_MMUI_InStash": "In Stash",
|
||||
"F_MMUI_InHideout": "In Hideout",
|
||||
"F_MMUI_InFlea": "In Flea",
|
||||
"F_MMUI_RaidDetails": "Playing as a {0} on {1}\nTime: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Witamy w Fika, OFFLINE Mod Kooperacyjny dla SPT.",
|
||||
"NDA free warning": "Aby utworzyć/dołączyć do gry musisz wybrać mapę i przejść do ostatniego ekranu, aby skorzystać z Przeglądarki Serwerów.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "Otrzymano postęp wspólnego zadania od {0} dla zadania {1}",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} podniósł {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} podłożył przedmiot na {1}",
|
||||
"F_Client_ReceivePing": "Otrzymano ping od {0}",
|
||||
"F_Client_ReceivePingObject": "{0} wskazał na {1}",
|
||||
"F_Client_RandomSpawnPoints": "Używanie losowych punktów odrodzenia",
|
||||
"F_Client_MetabolismDisabled": "Metabolizm wyłączony",
|
||||
"F_Client_YouAreMIA": "Zaginąłeś w akcji...",
|
||||
"F_Client_KilledBoss": "{0} zabił bossa {1}",
|
||||
"F_Client_GroupMemberSpawned": "Członek grupy {0} pojawił się",
|
||||
"F_Client_GroupMemberExtracted": "Członek grupy {0} wydostał się",
|
||||
"F_Client_GroupMemberDiedFrom": "Członek grupy {0} zginął od {1}",
|
||||
"F_Client_GroupMemberDied": "Członek grupy {0} umarł",
|
||||
"F_Client_ConnectedToServer": "Połączono z serwerem przez port {0}",
|
||||
"F_Client_ServerStarted": "Serwer został uruchomiony na porcie {0}",
|
||||
"F_Client_CouldNotFindValidIP": "Nie znaleziono poprawnego lokalnego adresu IP!",
|
||||
"F_Client_ReconnectRequested": "Otrzymano prośbę o ponowne połączenie, spodziewane opóźnienia połączenia...",
|
||||
"F_Client_PeerConnected": "Uczestnik połączony z serwerem przez port {0}",
|
||||
"F_Client_PeerDisconnected": "Uczestnik rozłączył się {0}, informacja: {1}",
|
||||
"F_Client_ConnectingToSession": "Łączenie z sesją...",
|
||||
"F_Client_ItemIsBlacklisted": "Przedmiot {0} znajduje się na czarnej liście i nie można go wysłać",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} zawiera {1}, który jest na czarnej liście wysyłania",
|
||||
"F_Client_SavedProfile": "Zapisano profil {0} do {1}",
|
||||
"F_Client_UnknownError": "Został rzucony nieznany wyjątek, sprawdź swoje logi",
|
||||
"F_Client_HostCannotExtract": "Nie możesz opuścić gry, dopóki wszyscy klienci nie rozłączą się",
|
||||
"F_Client_HostCannotExtractMenu": "Nie możesz się rozłączyć, gdy użytkownicy są wciąż połączeni! Pozostałych użytkowników: {0}",
|
||||
"F_Client_Wait5Seconds": "Poczekaj przynajmniej 5 sekund po rozłączeniu się ostatniego użytkownika przed wyjściem",
|
||||
"F_Client_StartingRaid": "Uruchamianie raidu, proszę czekać...",
|
||||
"F_Client_LostConnection": "Utracono połączenie z gospodarzem",
|
||||
"F_Client_StartingRaidOnDedicated": "Uruchamianie raidu na dedykowanym kliencie... proszę czekać",
|
||||
"F_SendItem_Header": "WYBIERZ GRACZA",
|
||||
"F_SendItem_SendButton": "WYŚLIJ",
|
||||
"F_MMUI_RaidsHeader": "RAIDY",
|
||||
"F_MMUI_HostRaidButton": "HOSTUJ RAID",
|
||||
"F_MMUI_JoinButton": "DOŁĄCZ",
|
||||
"F_MMUI_SelectAmountHeader": "WYBIERZ ILOŚĆ",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "Ile osób (łącznie z tobą) będzie grało?",
|
||||
"F_MMUI_UseDedicatedHost": "Użyj Dedykowanego Gospodarza",
|
||||
"F_MMUI_StartButton": "START",
|
||||
"F_MMUI_LoadingScreenHeader": "ŁADOWANIE",
|
||||
"F_MMUI_LoadingScreenDescription": "Proszę czekać na inicjalizację raidu... to może chwilę potrwać.",
|
||||
"F_MMUI_JoinAsSpectator": "Dołącz jako obserwator",
|
||||
"F_UI_StartRaid": "Start Raid",
|
||||
"F_UI_StartRaidDescription": "Starts the raid\nNew players will not be able to join",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Nie można dołączyć do raidu który odgrywa się na innej mapie.\nRaid odgrywa się na mapie: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Nie możesz dołączyć do raidu który odgrywa się o innej porze.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "Nie możesz dołączyć do raidu scavów jako PMC.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "Nie możesz dołączyć do raidu PMC jako scav.",
|
||||
"F_UI_HostStillLoading": "Gospodarz jest wciąż w trakcie ładowania.",
|
||||
"F_UI_RaidInProgress": "Raid jest już w toku.",
|
||||
"F_UI_ReJoinRaid": "Kliknij, aby ponownie dołączyć do raidu.",
|
||||
"F_UI_CannotReJoinRaidDied": "Nie można ponownie dołączyć do raidu, w którym zginąłeś.",
|
||||
"F_UI_JoinRaid": "Kliknij, aby dołączyć do raidu.",
|
||||
"F_UI_ErrorConnecting": "BŁĄD POŁĄCZENIA",
|
||||
"F_UI_UnableToConnect": "Nie można połączyć się z serwerem. Upewnij się że wszystkie porty są otwarte i wszystkie ustawienia są poprawnie skonfigurowane.",
|
||||
"F_UI_FikaPingerFailStart": "Nie można uruchomić FikaPinger'a!",
|
||||
"F_UI_RefreshRaids": "Odśwież listę aktywnych raidów.",
|
||||
"F_UI_DedicatedError": "BŁĄD DEDYKOWANEGO KLIENTA FIKA",
|
||||
"F_UI_ErrorForceIPHeader": "BŁĄD W WYMUSZANIU ADRESU IP",
|
||||
"F_UI_ErrorForceIP": "'{0}' nie jest poprawnym adresem IP, przez który można się połączyć! Sprawdź ustawienie \"Wymuś IP\".",
|
||||
"F_UI_ErrorBindIPHeader": "BŁĄD POWIĄZANIA",
|
||||
"F_UI_ErrorBindIP": "'{0}' nie jest prawidłowym adresem IP do powiązania! Sprawdź ustawienie 'Wymuś powiązanie IP'.",
|
||||
"F_UI_NoDedicatedClients": "Brak dostępnych dedykowanych klientów.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "Oczekiwanie na zakończenie inicjalizacji raidu przez gospodarza...",
|
||||
"F_UI_WaitForOtherPlayers": "Oczekiwanie na zakończenie ładowania pozostałych graczy...",
|
||||
"F_UI_RetrieveSpawnInfo": "Pobieranie informacji o spawnie z serwera...",
|
||||
"F_UI_RetrieveLoot": "Pobieranie łupów z serwera...",
|
||||
"F_UI_WaitForHostInit": "Oczekiwanie na inicjalizację raidu przez gospodarza...",
|
||||
"F_UI_Reconnecting": "Wznawianie połączenia...",
|
||||
"F_UI_RetrieveExfilData": "Pobieranie danych ekstrfiltracji z serwera...",
|
||||
"F_UI_RetrieveInteractables": "Pobieranie obiektów interaktywnych z serwera...",
|
||||
"F_UI_InitCoopGame": "Inicjalizowanie gry kooperacyjnej...",
|
||||
"F_UI_AllPlayersJoined": "Wszyscy gracze dołączyli, rozpoczynanie gry...",
|
||||
"F_UI_WaitingForConnect": "Oczekiwanie na połączenie klienta z serwerem... Jeśli nie ma powiadomienia, to nie powiodło się.",
|
||||
"F_UI_ErrorConnectingToRaid": "Nie można połączyć się z serwerem. Upewnij się, że odpowiednie porty są przekierowanie i/lub UPnP jest włączone i wspierane.",
|
||||
"F_UI_FinishingRaidInit": "Kończenie inicjalizacji raidu...",
|
||||
"F_UI_SyncThrowables": "Synchronizowanie obiektów miotanych...",
|
||||
"F_UI_SyncInteractables": "Synchronizowanie obiektów interaktywnych...",
|
||||
"F_UI_SyncLampStates": "Synchronizowanie statusów oświetlenia...",
|
||||
"F_UI_SyncWindows": "Synchronizacja okien...",
|
||||
"F_UI_ReceiveOwnPlayer": "Pobieranie własnego gracza...",
|
||||
"F_UI_FinishReconnect": "Kończenie ponownego łączenia...",
|
||||
"F_Client_FreeCamInputDisabled": "Sterowanie swobodną kamerą wyłączone",
|
||||
"F_Client_FreeCamInputEnabled": "Sterowanie swobodną kamerą włączone",
|
||||
"F_UI_WaitForPlayer": "Oczekiwanie na {0} gracza",
|
||||
"F_UI_WaitForPlayers": "Oczekiwanie na {0} graczy",
|
||||
"F_UI_ToSLong": "Witamy w Fika!\n\nFika to mod Kooperacyjny dla SPT, pozwalający ci grać z Twoimi przyjaciółmi. Fika jest i zawsze będzie darmowa, jeśli za niego zapłaciłeś, to zostałeś oszukany. Zabrania się zakładania serwerów publicznych z mikropłatnościami lub dotacjami. \n\nZaczekaj aż ta wiadomość zniknie żeby zaakceptować nasze Warunki Świadczenia Usług.\n\nMożesz dołączyć do naszego Discorda tutaj: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Witamy w Fika!\n\nFika to mod Kooperacyjny dla SPT, pozwalający ci grać z Twoimi przyjaciółmi. Fika jest i zawsze będzie darmowa, jeśli za niego zapłaciłeś, to zostałeś oszukany. Zabrania się zakładanie serwerów publicznych z mikropłatnościami lub dotacjami. \n\nMożesz dołączyć do naszego Discorda tutaj: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "W tym trybie możesz grać w kooperację online ze znajomymi bez ryzyka spotkania innych graczy. Wszystkie mechaniki trybu kooperacji (pogoda, boty, bossowie, itd.) są identyczne z tymi z trybu online. Działać będą tylko ustawienia hosta.",
|
||||
"F_UI_CoopGameMode": "Tryb kooperacji Fika",
|
||||
"F_UI_CoopRaidSettings": "Ustawienia raidu kooperacyjnego Fika",
|
||||
"F_UI_FikaAlwaysCoop": "Kooperacja jest zawsze włączona w Fika",
|
||||
"F_UI_UpnpFailed": "Mapowanie UPnP nieudane. Upewnij się, że wybrany port nie jest już otwarty! \nWyłącz UPnP jeśli używasz VPN.",
|
||||
"F_UI_InitWeather": "Generowanie pogody...",
|
||||
"F_Notification_RaidStarted": "{0} Rozpoczął raid na {1}",
|
||||
"F_Notification_ItemReceived": "Otrzymałeś {0} od {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "Edytowanie ustawień raidu jest wyłączone przez hosta serwera",
|
||||
"F_UI_ExtractMessage": "Wciśnij {0} aby wyjść",
|
||||
"F_UI_DownloadProfile": "DOWNLOAD PROFILE",
|
||||
"F_BepInEx_H_Advanced": "Zaawansowane",
|
||||
"F_BepInEx_H_Coop": "Kooperacja",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Kooperacja | Nazwy Graczy",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Kooperacja | Wspólne zadania",
|
||||
"F_BepInEx_H_Coop_Pinging": "Kooperacja | Znaczniki",
|
||||
"F_BepInEx_H_Coop_Debug": "Kooperacja | Debug",
|
||||
"F_BepInEx_H_Performance": "Wydajność",
|
||||
"F_BepInEx_H_PerformanceBots": "Wydajność | Maks. Botów",
|
||||
"F_BepInEx_H_Network": "Sieć",
|
||||
"F_BepInEx_H_Gameplay": "Rozgrywka",
|
||||
"F_BepInEx_OfficialVersion_T": "Oficjalna Wersja",
|
||||
"F_BepInEx_OfficialVersion_D": "Pokazuj oficjalną wersję zamiast wersji Fika.",
|
||||
"F_BepInEx_ShowFeed_T": "Pokazuj Aktualności",
|
||||
"F_BepInEx_ShowFeed_D": "Włącz niestandardowe powiadomienia, gdy gracz umrze, wyjdzie z raidu, zabije bossa, itp.",
|
||||
"F_BepInEx_AutoExtract_T": "Automatyczne Wyjście",
|
||||
"F_BepInEx_AutoExtract_D": "Automatycznie wychodzi z raidu po odliczaniu wyjścia. Jako host, będzie działać tylko, gdy nie ma żadnych połączonych klientów.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Pokazuj Wiadomość Wyjścia",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Czy pokazywać wiadomość wyjścia po śmierci/wyjściu.",
|
||||
"F_BepInEx_ExtractKey_T": "Klawisz Wyjścia",
|
||||
"F_BepInEx_ExtractKey_D": "Klawisz używany do wyjścia z raidu.",
|
||||
"F_BepInEx_EnableChat_T": "Włącz Czat",
|
||||
"F_BepInEx_EnableChat_D": "Przełącz, aby włączyć czat w grze. Nie można zmienić podczas raidu.",
|
||||
"F_BepInEx_ChatKey_T": "Klawisz Czatu",
|
||||
"F_BepInEx_ChatKey_D": "Klawisz używany do otwarcia okna czatu.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Włącz Graczy Online",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "Jeżeli menu graczy online powinno być wyświetlane w menu.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Skala Graczy Online",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "Skala okienka, które wyświetla graczy online. Zmień tylko wtedy, gdy wygląda nieproporcjonalnie.",
|
||||
"F_BepInEx_UseNamePlates_T": "Pokazuj Nazwy Graczy",
|
||||
"F_BepInEx_UseNamePlates_D": "Jeżeli nazwy graczy powinny być wyświetlane nad członkami drużyny.",
|
||||
"F_BepInEx_HideHealthBar_T": "Ukryj Paski Zdrowia",
|
||||
"F_BepInEx_HideHealthBar_D": "Całkowicie ukrywa pasek zdrowia.",
|
||||
"F_BepInEx_UsePercent_T": "Pokazuj HP% zamiast paska",
|
||||
"F_BepInEx_UsePercent_D": "Pokazuje zdrowie w % zamiast używać paska.",
|
||||
"F_BepInEx_ShowEffects_T": "Pokazuj Efekty",
|
||||
"F_BepInEx_ShowEffects_D": "Jeżeli efekty statusu powinny być wyświetlone pod paskiem zdrowia.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Pokazuj Ikonę Frakcji Gracza",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Pokazuje ikonę frakcji gracza obok paska zdrowia.",
|
||||
"F_BepInEx_HideInOptic_T": "Ukryj Nazwy Graczy Podczas Celowania",
|
||||
"F_BepInEx_HideInOptic_D": "Ukrywa nazwy graczy podczas używania celowników PiP.",
|
||||
"F_BepInEx_OpticUseZoom_T": "Nazwy Graczy Używają Przybliżenia Celowników",
|
||||
"F_BepInEx_OpticUseZoom_D": "Jeśli lokacje nazw graczy powinny być wyświetlane podczas używania celownika PiP.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Zmniejsz Przezroczystość w Celownikach",
|
||||
"F_BepInEx_DecOpacPeri_D": "Zmniejsza przezroczystość nazw graczy, gdy nie patrzysz na gracza.",
|
||||
"F_BepInEx_NamePlateScale_T": "Skala Nazwy Gracza",
|
||||
"F_BepInEx_NamePlateScale_D": "Rozmiar nazwy gracza.",
|
||||
"F_BepInEx_AdsOpac_T": "Przezroczystość w Trybie Celowania",
|
||||
"F_BepInEx_AdsOpac_D": "Przezroczystość nazw gracza podczas celowania.",
|
||||
"F_BepInEx_MaxDistance_T": "Maksymalna Odległość do Wyświetlania",
|
||||
"F_BepInEx_MaxDistance_D": "Maksymalna odległość, przy której nazwy graczy staną się niewidoczne, zaczyna zanikać przy połowie wpisanej wartości.",
|
||||
"F_BepInEx_MinOpac_T": "Minimalna Przezroczystość",
|
||||
"F_BepInEx_MinOpac_D": "Minimalna przezroczystość nazw graczy.",
|
||||
"F_BepInEx_MinPlateScale_T": "Minimalna Skala Nazw Graczy",
|
||||
"F_BepInEx_MinPlateScale_D": "Minimalna skala nazw graczy.",
|
||||
"F_BepInEx_UseOcclusion_T": "Użyj Okluzji",
|
||||
"F_BepInEx_UseOcclusion_D": "Użyj okluzji, aby schować nazwy graczy, gdy gracz jest poza zasięgiem widzenia.",
|
||||
"F_BepInEx_QuestTypes_T": "Typy zadań",
|
||||
"F_BepInEx_QuestTypes_D": "Które typy zadań do odebrania i wysyłania. PlaceBeacon to zarówno markery, jak i przedmioty.",
|
||||
"F_BepInEx_QSNotifications_T": "Pokazuj Powiadomienia",
|
||||
"F_BepInEx_QSNotifications_D": "Jeśli powiadomienie powinno być wyświetlane, gdy postęp zadania jest udostępniany.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Łatwe Warunki Zabicia",
|
||||
"F_BepInEx_EasyKillConditions_D": "Włącza łatwe warunki zabicia. Gdy jest to używane, kiedykolwiek przyjazny gracz coś zabije, jest to traktowane, jakbyś ty to zabił dla swojego zadania, jeśli spełnione są wszystkie warunki zadania.",
|
||||
"F_BepInEx_SharedKillXP_T": "Wspólne Doświadczenie z Zabójstw",
|
||||
"F_BepInEx_SharedKillXP_D": "Jeśli włączone, otrzymasz ½ doświadczenia, gdy przyjazny gracz zabije wroga (nie bossa).",
|
||||
"F_BepInEx_SharedBossXP_T": "Wspólne Doświadczenie z Bossów",
|
||||
"F_BepInEx_SharedBossXP_D": "Jeśli włączone, otrzymasz ½ doświadczenia, gdy przyjazny gracz zabije bossa.",
|
||||
"F_BepInEx_PingSystem_T": "System Znaczników",
|
||||
"F_BepInEx_PingSystem_D": "Przełącz System Znaczników. Jeżeli jest włączony, możesz odbierać i wysyłać znaczniki wciskając przycisk zaznaczenia.",
|
||||
"F_BepInEx_PingButton_T": "Przycisk Zaznaczenia",
|
||||
"F_BepInEx_PingButton_D": "Przycisk używany do postawienia znacznika.",
|
||||
"F_BepInEx_PingColor_T": "Kolor Znacznika",
|
||||
"F_BepInEx_PingColor_D": "Kolor twojego znacznika wyświetlanego innym graczom.",
|
||||
"F_BepInEx_PingSize_T": "Rozmiar Znacznika",
|
||||
"F_BepInEx_PingSize_D": "Mnożnik rozmiaru znacznika.",
|
||||
"F_BepInEx_PingTime_T": "Czas Znacznika",
|
||||
"F_BepInEx_PingTime_D": "Jak długo znaczniki powinny być wyświetlane.",
|
||||
"F_BepInEx_PingAnimation_T": "Animacja Zaznaczenia",
|
||||
"F_BepInEx_PingAnimation_D": "Odtwarza animację wskazywania automatycznie podczas zaznaczania. Może zakłócać grę.",
|
||||
"F_BepInEx_PingOptics_T": "Pokaż Znacznik Podczas Celowania",
|
||||
"F_BepInEx_PingOptics_D": "Jeśli znaczniki powinny być wyświetlane podczas używania celownika.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Znacznik Używa Przybliżenia Celownika",
|
||||
"F_BepInEx_PingOpticZoom_D": "Jeśli lokacje znacznika powinny być wyświetlane podczas używania celownika PiP.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Skala Znacznika z Odległością",
|
||||
"F_BepInEx_PingScaleDistance_D": "Jeśli rozmiar znacznika powinien być skalowany z odległością od gracza.",
|
||||
"F_BepInEx_PingMinOpac_T": "Minimalna Przezroczystość Znacznika",
|
||||
"F_BepInEx_PingMinOpac_D": "Minimalna przezroczystość znaczników przy patrzeniu wprost na nie.",
|
||||
"F_BepInEx_PingRange_T": "Pokaż Zasięg Znaczników",
|
||||
"F_BepInEx_PingRange_D": "Pokazuje zasięg od twojego gracza do znacznika, jeśli włączone.",
|
||||
"F_BepInEx_PingSound_T": "Dźwięk Znacznika",
|
||||
"F_BepInEx_PingSound_D": "Dźwięk odtwarzany przy zaznaczeniu",
|
||||
"F_BepInEx_FreeCamButton_T": "Przycisk Kamery Swobodnej",
|
||||
"F_BepInEx_FreeCamButton_D": "Przycisk używany do przełączania na swobodną kamerę.",
|
||||
"F_BepInEx_SpectateBots_T": "Zezwól Na Obserwowanie Botów",
|
||||
"F_BepInEx_SpectateBots_D": "Jeżeli powinniśmy zezwolić na obserwowanie botów, jeśli wszyscy gracze zmarli/wyszli.",
|
||||
"F_BepInEx_AZERTYMode_T": "Tryb AZERTY",
|
||||
"F_BepInEx_AZERTYMode_D": "Jeżeli swobodna kamera powinna używać schematu klawiszy AZERTY.",
|
||||
"F_BepInEx_DroneMode_T": "Tryb Drona",
|
||||
"F_BepInEx_DroneMode_D": "Jeżeli swobodna kamera powinna poruszać się tylko wzdłuż osi pionowej jak dron.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Tabelka Klawiszy",
|
||||
"F_BepInEx_KeybindOverlay_D": "Jeżeli tabelka z wszystkimi klawiszami swobodnej kamery powinna być widoczna.",
|
||||
"F_BepInEx_DynamicAI_T": "Dynamiczne AI",
|
||||
"F_BepInEx_DynamicAI_D": "Użyj dynamicznego systemu AI, wyłączając AI, gdy znajdują się poza zasięgiem wszystkich graczy.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Dynamiczny zasięg AI",
|
||||
"F_BepInEx_DynamicAIRange_D": "Odległość, z której AI zostanie dynamicznie wyłączone.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Częstotliwość odświeżania Dynamicznego AI",
|
||||
"F_BepInEx_DynamicAIRate_D": "Jak często dynamiczne AI powinno sprawdzać odległość od graczy.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignoruj snajperów",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Czy dynamiczne AI powinno ignorować scav snajperów",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Wymuszone Limity Odradzania",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Wymusza limit odrodzeń podczas odradzania botów, upewniając się, by nie przekroczyć domyślnych limitów. Ma znaczenie głównie podczas korzystania z modyfikacji zmieniających zasady odradzania lub cokolwiek co zmienia limity botów. Nie ma zastosowania do botów specjalnych tj. bossów.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Zniszcz Najdalsze",
|
||||
"F_BepInEx_DespawnFurthest_D": "Czy podczas wymuszania limitu spawnu, najdalszy bot powinien zostać zdespawnowany, zamiast blokować dalsze spawnowanie? To spowoduje dużo bardziej aktywny raid przy niższych wartościach Maksymalnej Ilości botów. Korzystne dla słabszych PC'tów. Despawnowane będą tylko scav'y oraz PMC. Jeśli nie korzystasz z modyfikacji dynamicznego spawnu szybko wyczerpie pulę punktów spawnu na mapie, przez co efekt będzie odwrotny.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Minimalny Dystans Despawnu",
|
||||
"F_BepInEx_DespawnMinDistance_D": "Minimalny dystans despawnu botów.",
|
||||
"F_BepInEx_MaxBots_T": "Maks. liczba botów {0}",
|
||||
"F_BepInEx_MaxBots_D": "Maksymalna liczba botów, które mogą być aktywne jednocześnie na {0}. Przydatne, jeśli masz słabszy PC. Ustaw na 0, aby użyć domyślnych limitów. Nie może być zmienione podczas raidu.",
|
||||
"F_BepInEx_NativeSockets_T": "Natywne gniazda",
|
||||
"F_BepInEx_NativeSockets_D": "Używaj NatywnychSocketów dla ruchu sieciowego gry. Ta opcja wykorzystuje sockety bezpośrednie dla wywołań send/receive by drastycznie przyspieszyć prędkość i zredukować GC. Tylko dla Windows. Na Linuxie nie zawsze działa.",
|
||||
"F_BepInEx_ForceIP_T": "Wymuś IP",
|
||||
"F_BepInEx_ForceIP_D": "Zmusza serwer do używania wpisanego adresu IP podczas nadawania do backendu zamiast automatycznego pobierania adresu. Pozostaw puste, aby wyłączyć.",
|
||||
"F_BepInEx_ForceBindIP_T": "Wymuś Powiązanie IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Zmusza serwer do używania tego lokalnego adaptera podczas uruchamiania serwera. Przydatne, jeśli hostujesz na VPNie.",
|
||||
"F_BepInEx_UDPPort_T": "Port UDP",
|
||||
"F_BepInEx_UDPPort_D": "Port do użycia dla pakietów rozgrywki UDP.",
|
||||
"F_BepInEx_UseUPnP_T": "Używaj UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Próba otwarcia portów za pomocą UPnP. Przydatne, jeśli nie możesz otworzyć portów samodzielnie, ale router obsługuje UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Użyj NAT Punching'u",
|
||||
"F_BepInEx_UseNatPunch_D": "Użyj NAT Punching'u podczas hostowania raidu. Działa tylko z routerami wspierającymi Full Cone NAT oraz wymaga NatPunchServer działającego na serwerze SPT. UPnP, Wymuszone IP, Wymuszone IP powiązania są wyłączone w tym trybie.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Limit Czasu Połączenia",
|
||||
"F_BepInEx_ConnectionTimeout_D": "Jak długo trwa ustalenie połączenia za przerwane, jeśli żadne pakiety nie przychodzą.",
|
||||
"F_BepInEx_SendRate_T": "Tempo Wysyłania Pakietów",
|
||||
"F_BepInEx_SendRate_D": "Jak często na sekundę, pakiety powiązane z ruchem powinny być przesyłane (mniej = mniejsze użycie sieci, lekko zwiększone opóźnienie podczas interpolacji)\nTa opcja ma efekt tylko dla hosta i jest synchronizowania pomiędzy klientami.\nIlość na sekundę:\n\nBardzo niska = 10\nNiska = 15\nŚrednia = 20\nWysoka = 30\n\nZalecane używanie wartości nie wyżej niż \"Średnie\" gdyż wyższe wartości nie powodują znacznej poprawy.",
|
||||
"F_BepInEx_SmoothingRate_T": "Częstotliwość Wygładzania",
|
||||
"F_BepInEx_SmoothingRate_D": "Lokalna symulacja jest opóźniona o (Częstotliwość wysyłania * częstotliwość wygładzania). To gwarantuje wystarczającą ilość próbek w buforze w celu uniknięcia lagów i przeskakiwania podczas interpolacji.\n\nNiski = 1.5\nŚredni = 2\nWysoki = 2.5\n\nUstaw tę opcję na \"Wysoki\" jeśli ruch jest poszarpany. Nie można zmienić w czasie raidu.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Wyłącz Metabolizm Botów",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Wyłącza metabolizm botów, zapobiegając ich umieraniu z powodu utraty energi/nawodnienia podczas długich raidów.",
|
||||
"F_MMUI_OnlinePlayers": "GRACZE ONLINE: {0}",
|
||||
"F_MMUI_InMenu": "W menu",
|
||||
"F_MMUI_InRaid": "Podczas Raidu",
|
||||
"F_MMUI_InStash": "Przegląda Schowek",
|
||||
"F_MMUI_InHideout": "W Kryjówce",
|
||||
"F_MMUI_InFlea": "Przegląda Rynek",
|
||||
"F_MMUI_RaidDetails": "Gra jako {0} na obszarze {1}\nCzas: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Bem-vindo ao Fika, o Mod Coop OFFLINE para SPT.",
|
||||
"NDA free warning": "Para hospedar/entrar em um jogo, você deve selecionar um mapa e ir até a última tela para usar o Navegador de Servidores.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "Progresso da missão compartilhada recebida de {0} para a missão {1}",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} pegou {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} plantou um item para {1}",
|
||||
"F_Client_ReceivePing": "Recebeu um ping de {0}",
|
||||
"F_Client_ReceivePingObject": "{0} pingou {1}",
|
||||
"F_Client_RandomSpawnPoints": "Usando pontos de spawn aleatórios",
|
||||
"F_Client_MetabolismDisabled": "Metabolismo desabilitado",
|
||||
"F_Client_YouAreMIA": "Desapareceu em ação...",
|
||||
"F_Client_KilledBoss": "{0} Matou o chefe {1}",
|
||||
"F_Client_GroupMemberSpawned": "O membro do grupo {0} apareceu",
|
||||
"F_Client_GroupMemberExtracted": "O membro do grupo {0} extraiu",
|
||||
"F_Client_GroupMemberDiedFrom": "O membro do grupo {0} morreu de {1}",
|
||||
"F_Client_GroupMemberDied": "O membro do grupo {0} morreu",
|
||||
"F_Client_ConnectedToServer": "Conectado ao servidor na porta {0}",
|
||||
"F_Client_ServerStarted": "Servidor iniciado na porta {0}",
|
||||
"F_Client_CouldNotFindValidIP": "Não foi possível encontrar um IP local válido!",
|
||||
"F_Client_ReconnectRequested": "Reconexão solicitada, espere atraso...",
|
||||
"F_Client_PeerConnected": "Par conectado ao servidor na porta {0}",
|
||||
"F_Client_PeerDisconnected": "Par desconectado {0}, info: {1}",
|
||||
"F_Client_ConnectingToSession": "Conectando à sessão...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} Está na lista negra para envio",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} Contém {1} que está na lista negra para envio",
|
||||
"F_Client_SavedProfile": "Perfil salvo {0} para {1}",
|
||||
"F_Client_UnknownError": "Uma exceção desconhecida foi lançada, verifique o seu arquivo de log",
|
||||
"F_Client_HostCannotExtract": "Você não pode sair do jogo até que todos os clientes tenham se desconectado",
|
||||
"F_Client_HostCannotExtractMenu": "Você não pode sair do jogo até que todos os clientes tenham se desconectado: {0}",
|
||||
"F_Client_Wait5Seconds": "Aguarde pelo menos 5 segundos após o último peer desconectar antes de sair",
|
||||
"F_Client_StartingRaid": "Iniciando incursão, aguarde...",
|
||||
"F_Client_LostConnection": "Conexão perdida com o anfitrião",
|
||||
"F_Client_StartingRaidOnDedicated": "Iniciando incursão em cliente dedicado... Aguarde",
|
||||
"F_SendItem_Header": "SELECIONE UM JOGADOR",
|
||||
"F_SendItem_SendButton": "ENVIAR",
|
||||
"F_MMUI_RaidsHeader": "Incursões",
|
||||
"F_MMUI_HostRaidButton": "Hospedar Incursão",
|
||||
"F_MMUI_JoinButton": "ENTRAR",
|
||||
"F_MMUI_SelectAmountHeader": "SELECIONAR QUANTIDADE",
|
||||
"F_MMUI_SessionSettingsHeader": "CONFIGURAÇÕES DE SESSÃO",
|
||||
"F_MMUI_SelectAmountDescription": "Quantas pessoas (incluindo você) irão jogar?",
|
||||
"F_MMUI_UseDedicatedHost": "Usar o host dedicado",
|
||||
"F_MMUI_StartButton": "INICIAR",
|
||||
"F_MMUI_LoadingScreenHeader": "Carregando",
|
||||
"F_MMUI_LoadingScreenDescription": "Aguarde enquanto a incursão é inicializada... Isso pode levar algum tempo.",
|
||||
"F_MMUI_JoinAsSpectator": "Junte-se como espectador",
|
||||
"F_UI_StartRaid": "Começar Incursão",
|
||||
"F_UI_StartRaidDescription": "Começa a Incursão\nNovos jogadores não poderão entrar",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Não é possível se juntar a uma incursão que está em outro mapa.\nMapa da Incursão: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Não é possível participar de uma incursão que está em outra hora.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "Você não pode entrar em um incursão de Scav como um PMC.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "Você não pode participar de uma incursão de PMC como um Scav.",
|
||||
"F_UI_HostStillLoading": "O Host ainda está carregando.",
|
||||
"F_UI_RaidInProgress": "A incursão já está em andamento.",
|
||||
"F_UI_ReJoinRaid": "Clique para reentrar na incursão.",
|
||||
"F_UI_CannotReJoinRaidDied": "Não é possível se juntar a uma incursão onde você morreu.",
|
||||
"F_UI_JoinRaid": "Clique para se juntar à incursão.",
|
||||
"F_UI_ErrorConnecting": "ERRO DE CONEXÃO",
|
||||
"F_UI_UnableToConnect": "Não é possível conectar ao servidor. Certifique-se de que todas as portas estejam abertas e que todas as configurações estejam configuradas corretamente.",
|
||||
"F_UI_FikaPingerFailStart": "Não foi possível iniciar o FikaPinger!",
|
||||
"F_UI_RefreshRaids": "Atualizar lista de incursões ativos.",
|
||||
"F_UI_DedicatedError": "ERRO DEDICADO DE FIKA",
|
||||
"F_UI_ErrorForceIPHeader": "ERRO AO FORÇAR IP",
|
||||
"F_UI_ErrorForceIP": "'{0}' não é um endereço IP válido para conexão! Verifique a sua configuração 'Forçar IP'.",
|
||||
"F_UI_ErrorBindIPHeader": "ERRO DE VINCULAÇÃO",
|
||||
"F_UI_ErrorBindIP": "'{0}' não é um endereço IP válido para vincular! Verifique sua configuração 'Forçar vinculação de IP'.",
|
||||
"F_UI_NoDedicatedClients": "Não há clientes dedicados disponíveis.",
|
||||
"F_UI_WaitForHostStartRaid": "Esperando o anfitrião iniciar a incursão...",
|
||||
"F_UI_WaitForHostFinishInit": "Esperando o host terminar a inicialização da incursão...",
|
||||
"F_UI_WaitForOtherPlayers": "Esperando que outros jogadores terminem de carregar...",
|
||||
"F_UI_RetrieveSpawnInfo": "Recuperando informações de spawn do servidor...",
|
||||
"F_UI_RetrieveLoot": "Recuperando itens do servidor...",
|
||||
"F_UI_WaitForHostInit": "Esperando o host inicializar a incursão...",
|
||||
"F_UI_Reconnecting": "Reconectando...",
|
||||
"F_UI_RetrieveExfilData": "Recuperando dados de exfiltração do servidor...",
|
||||
"F_UI_RetrieveInteractables": "Recuperando objetos interativos do servidor...",
|
||||
"F_UI_InitCoopGame": "Iniciando o Jogo Coop...",
|
||||
"F_UI_AllPlayersJoined": "Todos os jogadores entraram, iniciando o jogo...",
|
||||
"F_UI_WaitingForConnect": "Esperando o cliente se conectar ao servidor... Se não houver notificação ele falhou.",
|
||||
"F_UI_ErrorConnectingToRaid": "Não é possível conectar ao servidor de incursão. Certifique-se de que as portas são encaminhadas e/ou UPnP estão ativadas e suportadas.",
|
||||
"F_UI_FinishingRaidInit": "Finalizando inicialização da incursão...",
|
||||
"F_UI_SyncThrowables": "Sincronizando lançadores...",
|
||||
"F_UI_SyncInteractables": "Sincronizando interativos...",
|
||||
"F_UI_SyncLampStates": "Sincronizando estados de lâmpadas...",
|
||||
"F_UI_SyncWindows": "Sincronizando janelas...",
|
||||
"F_UI_ReceiveOwnPlayer": "Recebendo o próprio jogador...",
|
||||
"F_UI_FinishReconnect": "Finalizando a reconexão...",
|
||||
"F_Client_FreeCamInputDisabled": "Controle de camera livre desabilitada",
|
||||
"F_Client_FreeCamInputEnabled": "Controle de camera livre habilitada",
|
||||
"F_UI_WaitForPlayer": "Aguardando {0} jogador",
|
||||
"F_UI_WaitForPlayers": "Aguardando {0} jogadores",
|
||||
"F_UI_ToSLong": "Bem-vindo ao Fika!\n\nFika é um mod de Co-op para o SPT, que lhe permite jogar com seus amigos. Fika é e sempre será gratuito, se você pagou por ele, você foi enganado. Não é permitido hostear servidores públicos com monetização e/ou doações.\n\nEspere a messagem desaparecer para aceitar nossos termos de serviço.\n\nVocê pode entrar no nosso Discord aqui: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Bem-vindo ao Fika!\n\nFika é um mod de Co-op para o SPT, que lhe permite jogar com seus amigos. Fika é e sempre será gratuito, se você pagou por ele, você foi enganado. Não é permitido hostear servidores públicos com monetização e/ou doações.\n\nVocê pode entrar no nosso Discord aqui: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "Neste modo, é possível jogar online co-op com os seus amigos sem o risco de encontrar outros jogadores.\\nTodas as mecânicas de jogo no modo co-op (clima, bots, bosses, etc.) são idênticas às mecânicas online.\\nSó as definições do host vão ter efeito.",
|
||||
"F_UI_CoopGameMode": "Modo de Jogo Fika Co-op",
|
||||
"F_UI_CoopRaidSettings": "Definições de Raid Fika Co-op",
|
||||
"F_UI_FikaAlwaysCoop": "O co-op está sempre ativado no Fika",
|
||||
"F_UI_UpnpFailed": "O mapeamento UPnP falhou. Assegure-se de que a porta escolhida não está aberta!\\nDesative UPnP se estiver usando uma VPN.",
|
||||
"F_UI_InitWeather": "Gerando clima...",
|
||||
"F_Notification_RaidStarted": "{0} iniciou uma incursão em {1}",
|
||||
"F_Notification_ItemReceived": "Você recebeu um {0} de {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "A edição das Configurações de Incursão está desativada pelo anfitrião do servidor",
|
||||
"F_UI_ExtractMessage": "Pressione {0} para extrair",
|
||||
"F_UI_DownloadProfile": "BAIXAR PERFIL",
|
||||
"F_BepInEx_H_Advanced": "Avançado",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Coop | Placas de Nome",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Coop | Compartilhamento de Quest",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Marcação",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Debug",
|
||||
"F_BepInEx_H_Performance": "Desempenho",
|
||||
"F_BepInEx_H_PerformanceBots": "Desempenho | Máximo de Bots",
|
||||
"F_BepInEx_H_Network": "Rede",
|
||||
"F_BepInEx_H_Gameplay": "Jogabilidade",
|
||||
"F_BepInEx_OfficialVersion_T": "Versão Oficial",
|
||||
"F_BepInEx_OfficialVersion_D": "Mostrar versão oficial ao invés da versão Fika.",
|
||||
"F_BepInEx_ShowFeed_T": "Exibir Feed",
|
||||
"F_BepInEx_ShowFeed_D": "Ativar notificações personalizadas quando um jogador morrer, extrair, matar um chefe, etc.",
|
||||
"F_BepInEx_AutoExtract_T": "Auto Extrair",
|
||||
"F_BepInEx_AutoExtract_D": "Extrai automaticamente após a contagem de extração. Como um host, isso só funcionará se não houver clientes conectados.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Mostrar Mensagem de Extração",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Mostrar a mensagem de extração depois de morrer/extrair.",
|
||||
"F_BepInEx_ExtractKey_T": "Tecla de Extração",
|
||||
"F_BepInEx_ExtractKey_D": "A tecla usada para extrair da Raid.",
|
||||
"F_BepInEx_EnableChat_T": "Habilitar Chat",
|
||||
"F_BepInEx_EnableChat_D": "Alterne para ativar o chat no jogo. Não pode ser alterado durante uma incursão.",
|
||||
"F_BepInEx_ChatKey_T": "Tecla do Chat",
|
||||
"F_BepInEx_ChatKey_D": "A tecla usada para abrir a janela do chat.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Habilitar Jogadores Online",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "Se os jogadores online devem ser mostrados no menu.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Escala de Jogadores Online",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "A escala da janela que exibe os jogadores online. Só altere se estiver fora de proporção.\n\nRequer uma atualização do menu principal para ter efeito.",
|
||||
"F_BepInEx_UseNamePlates_T": "Exibir Placas de Jogador",
|
||||
"F_BepInEx_UseNamePlates_D": "Se as placas de nome devem ser mostrados acima dos companheiros de equipe.",
|
||||
"F_BepInEx_HideHealthBar_T": "Ocultar Barra de Vida",
|
||||
"F_BepInEx_HideHealthBar_D": "Oculta completamente a barra de vida.",
|
||||
"F_BepInEx_UsePercent_T": "Mostrar HP% em vez de barra",
|
||||
"F_BepInEx_UsePercent_D": "Mostra a saúde em quantidade de % em vez de usar a barra.",
|
||||
"F_BepInEx_ShowEffects_T": "Exibir Efeitos",
|
||||
"F_BepInEx_ShowEffects_D": "Se os efeitos de status devem ser exibidos abaixo da barra de saúde.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Mostrar ícone de facção do jogador",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Mostra o ícone da facção do jogador ao lado da barra de HP.",
|
||||
"F_BepInEx_HideInOptic_T": "Esconder Placa de Nome com Mira Optica",
|
||||
"F_BepInEx_HideInOptic_D": "Oculta a placa de nome ao visualizar através das miras PiP.",
|
||||
"F_BepInEx_OpticUseZoom_T": "Usar Placas de Nome Zoom Óptico",
|
||||
"F_BepInEx_OpticUseZoom_D": "Se a localização da placa de nome deve ser exibida usando mira óptica PiP.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Diminuir a Opacidade na Visão Periférica",
|
||||
"F_BepInEx_DecOpacPeri_D": "Diminui a opacidade das placas de nome quando não estiver olhando para um jogador.",
|
||||
"F_BepInEx_NamePlateScale_T": "Escala das Placas de Nome",
|
||||
"F_BepInEx_NamePlateScale_D": "Tamanho das placas de nome.",
|
||||
"F_BepInEx_AdsOpac_T": "Transparência em ADS",
|
||||
"F_BepInEx_AdsOpac_D": "A opacidade das placas de nome ao mirar.",
|
||||
"F_BepInEx_MaxDistance_T": "Distância Máxima para Exibir",
|
||||
"F_BepInEx_MaxDistance_D": "A distância máxima na qual as placas de nomes se tornarão invisíveis, começa a desvanecer pela metade do valor de entrada.",
|
||||
"F_BepInEx_MinOpac_T": "Opacidade mínima",
|
||||
"F_BepInEx_MinOpac_D": "A opacidade mínima das placas de nomes.",
|
||||
"F_BepInEx_MinPlateScale_T": "Escala mínima da Placa de Nome",
|
||||
"F_BepInEx_MinPlateScale_D": "A escala mínima das placas de nomes.",
|
||||
"F_BepInEx_UseOcclusion_T": "Usar Oclusão",
|
||||
"F_BepInEx_UseOcclusion_D": "Use oclusão para esconder a placa de nome quando o jogador estiver fora de vista.",
|
||||
"F_BepInEx_QuestTypes_T": "Tipos de Missão",
|
||||
"F_BepInEx_QuestTypes_D": "Quais tipos de missões receber e enviar. Colocar Itens são marcadores e itens.",
|
||||
"F_BepInEx_QSNotifications_T": "Mostrar notificações",
|
||||
"F_BepInEx_QSNotifications_D": "Se uma notificação deve ser mostrada quando o progresso da missão é compartilhado com a partida.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Condições de Morte Fácil",
|
||||
"F_BepInEx_EasyKillConditions_D": "Permite condições de mortes fáceis. Quando usado, quando um jogador amigo mata algo, trata como se você o matasse em suas missões, desde que todas as condições sejam atendidas.\nIsso pode ser inconsistente e nem sempre funciona.",
|
||||
"F_BepInEx_SharedKillXP_T": "Experiência de Mortes Compartilhadas",
|
||||
"F_BepInEx_SharedKillXP_D": "Se ativado, você receberá ½ da experiência quando um jogador aliado mata um inimigo (não o chefe).",
|
||||
"F_BepInEx_SharedBossXP_T": "Experiência do Chefe Compartilhada",
|
||||
"F_BepInEx_SharedBossXP_D": "Se ativado, você receberá ½ da experiência quando um jogador aliado mata um chefe.",
|
||||
"F_BepInEx_PingSystem_T": "Sistema de Marcação",
|
||||
"F_BepInEx_PingSystem_D": "Ativar/desativar Sistema de Marcação. Se ativado, você pode receber e enviar marcações pressionando a tecla de Marcação.",
|
||||
"F_BepInEx_PingButton_T": "Botão de Marcação",
|
||||
"F_BepInEx_PingButton_D": "Botão usado para enviar marcação.",
|
||||
"F_BepInEx_PingColor_T": "Cor da Marcação",
|
||||
"F_BepInEx_PingColor_D": "A cor de suas marcações quando exibido para outros jogadores.",
|
||||
"F_BepInEx_PingSize_T": "Tamanho da Marcação",
|
||||
"F_BepInEx_PingSize_D": "O multiplicador do tamanho da marcação.",
|
||||
"F_BepInEx_PingTime_T": "Tempo da Marcação",
|
||||
"F_BepInEx_PingTime_D": "Quanto tempo as marcações devem ser exibidas.",
|
||||
"F_BepInEx_PingAnimation_T": "Reproduzir animação de marcação",
|
||||
"F_BepInEx_PingAnimation_D": "Reproduz a animação que aponta automaticamente ao marcar. Pode interferir na jogabilidade.",
|
||||
"F_BepInEx_PingOptics_T": "Monstrar Marcação na Mira Optica",
|
||||
"F_BepInEx_PingOptics_D": "Se Marcações devem ser exibidas ao mirar com uma mira optica.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Marcação Usa o Zoom Ótico",
|
||||
"F_BepInEx_PingOpticZoom_D": "Se a localização da marcação deve ser exibida usando mira óptica PiP.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Marcação escala com a distância",
|
||||
"F_BepInEx_PingScaleDistance_D": "Se o tamanho da marcação deve ser escalada com distância do jogador.",
|
||||
"F_BepInEx_PingMinOpac_T": "Opacidade mínima da marcação",
|
||||
"F_BepInEx_PingMinOpac_D": "A opacidade mínima da marcação ao olhar diretamente para ela.",
|
||||
"F_BepInEx_PingRange_T": "Mostrar Distancia da Marcação",
|
||||
"F_BepInEx_PingRange_D": "Exibe a distancia entre o jogador e a marcação se habilitado.",
|
||||
"F_BepInEx_PingSound_T": "Som de Marcação",
|
||||
"F_BepInEx_PingSound_D": "O áudio que é reproduzido ao marcar",
|
||||
"F_BepInEx_FreeCamButton_T": "Botão de Câmera Livre",
|
||||
"F_BepInEx_FreeCamButton_D": "Botão usado para alternar a câmera livre.",
|
||||
"F_BepInEx_SpectateBots_T": "Permitir assistir bots",
|
||||
"F_BepInEx_SpectateBots_D": "Se permitirmos que bots sejam observados se todos os jogadores estão mortos/extraídos.",
|
||||
"F_BepInEx_AZERTYMode_T": "Modo AZERTY",
|
||||
"F_BepInEx_AZERTYMode_D": "Se a câmera livre deve usar teclas AZERTY como entrada.",
|
||||
"F_BepInEx_DroneMode_T": "Modo de Drone",
|
||||
"F_BepInEx_DroneMode_D": "Se a câmera livre deve se mover apenas ao longo do eixo vertical como um drone.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Sobreposição de Teclas",
|
||||
"F_BepInEx_KeybindOverlay_D": "Se uma sobreposição com todas as teclas de câmera livre livres deve aparecer.",
|
||||
"F_BepInEx_DynamicAI_T": "IA Dinâmica",
|
||||
"F_BepInEx_DynamicAI_D": "Use o sistema de IA dinâmica, desabilitando a IA quando eles estiverem fora do alcance de todos os jogadores.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Alcance de IA dinâmica",
|
||||
"F_BepInEx_DynamicAIRange_D": "O intervalo no qual a IA será desativada dinamicamente.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Taxa de IA dinâmica",
|
||||
"F_BepInEx_DynamicAIRate_D": "Com que frequência a IA Dinâmica deve procurar o intervalo entre todos os jogadores.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignorar Franco-atiradores",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Se AI Dinâmica deve ignorar os Franco-Atiradores.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Limite de Spawn forçado",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Força limites de spawn ao gerar bots, certifique-se de não ultrapassar os limites padrões. Isso afeta principalmente ao usar mods de spawn ou qualquer coisa que modifique os limites do bot. Não bloqueará bots especiais, como chefes.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Despawnar o mais longe",
|
||||
"F_BepInEx_DespawnFurthest_D": "Ao impor limites de spawn, o bot mais distante deve ser criado ao invés de bloquear o spawn. Isto fará com que a incursão seja muito mais ativa em uma configuração de Bots Maximos menor. Útil para PCs mais fracos. Só vai despawnar pmc e scavs. Se você não executar um mod de spawn dinâmico, ele vai esgotar rapidamente os spawns no mapa, fazendo a incursão muito morta em vez disso.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Distancia Minima para Despawn",
|
||||
"F_BepInEx_DespawnMinDistance_D": "A distância mínima para despawnar um bot.",
|
||||
"F_BepInEx_MaxBots_T": "Máximo de Bots {0}",
|
||||
"F_BepInEx_MaxBots_D": "Quantidade máxima de bots que podem estar ativos ao mesmo tempo em {0}. Útil se você tiver um PC mais fraco. Defina como 0 para usar os limites padrões. Não pode ser alterado durante uma incursão.",
|
||||
"F_BepInEx_NativeSockets_T": "Sockets Nativos",
|
||||
"F_BepInEx_NativeSockets_D": "Use Sockets Nativos para tráfego de jogabilidade. Isto usa chamadas diretas de soquete para enviar/receber para aumentar drasticamente a velocidade e reduzir a pressão do coletor de lixo. Somente para Windows/Linux e nem sempre funciona.",
|
||||
"F_BepInEx_ForceIP_T": "Forçar IP",
|
||||
"F_BepInEx_ForceIP_D": "Força o servidor ao hostear a usar este IP quando estiver transmitindo para o backend em vez de tentar obtê-lo automaticamente. Deixe em branco para desativar.",
|
||||
"F_BepInEx_ForceBindIP_T": "Forçar fixação de IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Força o servidor ao usar este adaptador local ao iniciar o servidor. Útil se você estiver hospedando em uma VPN.",
|
||||
"F_BepInEx_UDPPort_T": "Porta UDP",
|
||||
"F_BepInEx_UDPPort_D": "Porta para usar para pacotes de jogabilidade UDP.",
|
||||
"F_BepInEx_UseUPnP_T": "Usar UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Tentar abrir portas usando o UPnP. Útil se você não pode abrir portas você mesmo, mas o roteador suporta o UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Usar Socador NAT",
|
||||
"F_BepInEx_UseNatPunch_D": "Usa Socador NAT ao hospedar uma incursão. Só funciona com roteadores de tipo NAT fullcone e requer que o NatPunchServer esteja rodando no servidor SPT. UPnP, forçar IP e forçar IP fixo estão desativados com este modo.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Tempo de Limite de Conexão",
|
||||
"F_BepInEx_ConnectionTimeout_D": "Quanto tempo leva para uma conexão ser considerada perdida se nenhum pacote for recebido.",
|
||||
"F_BepInEx_SendRate_T": "Taxa de Envio",
|
||||
"F_BepInEx_SendRate_D": "Com que frequência por segundo pacotes de movimento devem ser enviados (menor = menos largura de banda usada, um pouco mais de atraso durante a interpolação)\nIsto só afeta o anfitrião e será sincronizado com todos os clientes.\nValor é por segundo:\n\nMuito Baixo = 10\nBaixo = 15\nMédio = 20\nAlto = 30\n\nRecomendado deixar não mais que médio, já que os ganhos são insignificantes depois.",
|
||||
"F_BepInEx_SmoothingRate_T": "Taxa de Suavização",
|
||||
"F_BepInEx_SmoothingRate_D": "Simulação local está atrasada em (Taxa de envio * Taxa de Suavização). Isto garante que sempre temos snapshots suficientes no buffer para mitigar lags e jitter durante a interpolação.\n\nBaixa = 1,5\nMédio = 2\nAlto = 2,5\n\nDefina isto para 'Alto' se o movimento não for suave. Não pode ser alterado durante uma incursão.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Desativar o metabolismo do Bot",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Desabilita o metabolismo dos Bots, impedindo que eles morram por perda de energia/hidratação durante longas incursões.",
|
||||
"F_MMUI_OnlinePlayers": "JOGADORES ON-LINE: {0}",
|
||||
"F_MMUI_InMenu": "No Menu",
|
||||
"F_MMUI_InRaid": "Em Incursão",
|
||||
"F_MMUI_InStash": "No estoque",
|
||||
"F_MMUI_InHideout": "No esconderijo",
|
||||
"F_MMUI_InFlea": "Na pulga",
|
||||
"F_MMUI_RaidDetails": "Jogando como {0} em {1}\nHora: {2}",
|
||||
"F_UI_LocaleError_H": "ERRO NAS LOCALIZAÇÕES",
|
||||
"F_UI_LocaleError_D": "Houve erros ao carregar as localizações do Fika. A tradução agora está usando os originais para os cabeçalhos que falharam. Por favor, reporte isso para os desenvolvedores!\n\nChaves falhas: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Bun venit in FIKA, mod-ul OFFLINE Coop pentru SPT.",
|
||||
"NDA free warning": "Pentru a găzdui/a te alătura unui joc trebuie sa selectezi o harta si sa mergi pe ultimul ecran pentru a folosi Server Browser-ul.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "Ai primit progresul misiunii comune de la {0} pentru misiunea {1}",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} a ridicat {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} a așezat un obiect pentru {1}",
|
||||
"F_Client_ReceivePing": "Ai primit un ping de la {0}",
|
||||
"F_Client_ReceivePingObject": "{0} i-a dat un ping lui {1}",
|
||||
"F_Client_RandomSpawnPoints": "Folosind puncte de apariție aleatoare",
|
||||
"F_Client_MetabolismDisabled": "Metabolism dezactivat",
|
||||
"F_Client_YouAreMIA": "Ai dispărut în acțiune...",
|
||||
"F_Client_KilledBoss": "{0} a omorât boss-ul {1}",
|
||||
"F_Client_GroupMemberSpawned": "{0}, membru al grupului, a apărut",
|
||||
"F_Client_GroupMemberExtracted": "{0}, membru al grupului, a părăsit harta",
|
||||
"F_Client_GroupMemberDiedFrom": "{0}, membru al grupului, a murit de la {1}",
|
||||
"F_Client_GroupMemberDied": "{0}, membrul grupului, a murit",
|
||||
"F_Client_ConnectedToServer": "Conectat la server pe portul {0}",
|
||||
"F_Client_ServerStarted": "Serverul a pornit pe portul {0}",
|
||||
"F_Client_CouldNotFindValidIP": "Nu s-a putut găsi o adresă IP locala valida!",
|
||||
"F_Client_ReconnectRequested": "Cerere de reconectare, așteptați-va la întârzieri...",
|
||||
"F_Client_PeerConnected": "O persoana s-a conectat la server folosind port-ul {0}",
|
||||
"F_Client_PeerDisconnected": "Peer deconectat {0}, informații: {1}",
|
||||
"F_Client_ConnectingToSession": "Se conectează la sesiune...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} este pe lista neagră, nu poate fi trimis",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} conține {1} care nu poate fi trimis din cauză că este pe lista neagră",
|
||||
"F_Client_SavedProfile": "Profilul {0} salvat în {1}",
|
||||
"F_Client_UnknownError": "A fost aruncată o excepție necunoscută, verificați fișierul jurnal",
|
||||
"F_Client_HostCannotExtract": "Nu puteți ieși din joc până când nu s-au deconectat toți clienții",
|
||||
"F_Client_HostCannotExtractMenu": "Nu vă puteți deconecta cât timp există jucători conectați! Rămași: {0}",
|
||||
"F_Client_Wait5Seconds": "Vă rugăm să așteptați cel puțin 5 secunde după deconectarea ultimului jucător înainte de a renunța",
|
||||
"F_Client_StartingRaid": "Începe raidul, așteptați...",
|
||||
"F_Client_LostConnection": "S-a pierdut conexiunea la gazdă",
|
||||
"F_Client_StartingRaidOnDedicated": "Începe raidul pe clientul dedicat... așteptați",
|
||||
"F_SendItem_Header": "SELECTAȚI UN JUCĂTOR",
|
||||
"F_SendItem_SendButton": "TRIMITE",
|
||||
"F_MMUI_RaidsHeader": "RAIDURI",
|
||||
"F_MMUI_HostRaidButton": "GĂZDUIEȘTE RAID",
|
||||
"F_MMUI_JoinButton": "ALĂTURĂ-TE",
|
||||
"F_MMUI_SelectAmountHeader": "SELECTAȚI SUMA",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "Câți oameni (inclusiv dumneavoastră) vor juca?",
|
||||
"F_MMUI_UseDedicatedHost": "Utilizați o gazdă dedicată",
|
||||
"F_MMUI_StartButton": "Începe",
|
||||
"F_MMUI_LoadingScreenHeader": "Se încarcă",
|
||||
"F_MMUI_LoadingScreenDescription": "Vă rugăm să așteptați până la inițializarea raidului... acest lucru poate dura un timp.",
|
||||
"F_MMUI_JoinAsSpectator": "Join as spectator",
|
||||
"F_UI_StartRaid": "Start Raid",
|
||||
"F_UI_StartRaidDescription": "Starts the raid\nNew players will not be able to join",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Nu vă puteți alătura unui raid care se află pe altă hartă. Hartă raid: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Nu vă puteți alătura unui raid care are loc pe alt interval de timp.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "Nu vă puteți alătura unui raid scav ca PMC.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "Nu vă puteți alătura unui raid PMC ca scav.",
|
||||
"F_UI_HostStillLoading": "Gazda încă încarcă.",
|
||||
"F_UI_RaidInProgress": "Raidul este deja în desfășurare.",
|
||||
"F_UI_ReJoinRaid": "Click pentru a te realătura raid-ului.",
|
||||
"F_UI_CannotReJoinRaidDied": "Nu te poți alătura unui raid în care ai murit.",
|
||||
"F_UI_JoinRaid": "Faceți clic pentru a vă alătura raidului.",
|
||||
"F_UI_ErrorConnecting": "EROARE LA CONECTARE",
|
||||
"F_UI_UnableToConnect": "Nu se poate conecta la server. Asigurați-vă că toate porturile sunt deschise și că toate setările sunt configurate corect.",
|
||||
"F_UI_FikaPingerFailStart": "Nu s-a putut porni FikaPinger!",
|
||||
"F_UI_RefreshRaids": "Actualizați lista raidurilor active.",
|
||||
"F_UI_DedicatedError": "EROARE DEDICATĂ FIKA",
|
||||
"F_UI_ErrorForceIPHeader": "EROARE LA FORȚAREA IP-ului",
|
||||
"F_UI_ErrorForceIP": "„{0}” nu este o adresă IP validă la care să vă conectați! Verificați setarea „Forțare IP”.",
|
||||
"F_UI_ErrorBindIPHeader": "EROAREDE DE LEGARE",
|
||||
"F_UI_ErrorBindIP": "„{0}” nu este o adresă IP validă la care să vă legați! Verificați setarea „Forțare legare IP”.",
|
||||
"F_UI_NoDedicatedClients": "Nu sunt disponibili clienți dedicați.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "Se așteaptă ca gazda să termine inițializarea raidului...",
|
||||
"F_UI_WaitForOtherPlayers": "Se așteaptă ca alți jucători să termine încărcarea...",
|
||||
"F_UI_RetrieveSpawnInfo": "Se preiau informații despre punctele de apariție de pe server...",
|
||||
"F_UI_RetrieveLoot": "Se preia prada de pe server...",
|
||||
"F_UI_WaitForHostInit": "Se așteaptă ca gazda să inițializeze raid-ul...",
|
||||
"F_UI_Reconnecting": "Se reconectează...",
|
||||
"F_UI_RetrieveExfilData": "Se preiau datele de exfiltrare de pe server...",
|
||||
"F_UI_RetrieveInteractables": "Se preiau obiecte interacționabile de pe server...",
|
||||
"F_UI_InitCoopGame": "Se inițializează jocul Coop...",
|
||||
"F_UI_AllPlayersJoined": "Toți jucătorii s-au alăturat, începe jocul...",
|
||||
"F_UI_WaitingForConnect": "Se așteaptă ca clientul să se conecteze la server... Dacă nu există nicio notificare, a eșuat.",
|
||||
"F_UI_ErrorConnectingToRaid": "Nu se poate conecta la serverul raid. Asigurați-vă că porturile sunt redirecționate și/sau UPnP este activat și acceptat.",
|
||||
"F_UI_FinishingRaidInit": "Se termină inițializarea raidului...",
|
||||
"F_UI_SyncThrowables": "Se sincronizează obiectele care pot fi aruncate...",
|
||||
"F_UI_SyncInteractables": "Se sincronizează elementele cu care se poate interacționa...",
|
||||
"F_UI_SyncLampStates": "Se sincronizează stările luminilor...",
|
||||
"F_UI_SyncWindows": "Se sincronizează ferestrele...",
|
||||
"F_UI_ReceiveOwnPlayer": "Primirea propriului jucător...",
|
||||
"F_UI_FinishReconnect": "Se termină reconectarea...",
|
||||
"F_Client_FreeCamInputDisabled": "Controlul camerei libere este dezactivat",
|
||||
"F_Client_FreeCamInputEnabled": "Controlul camerei libere este activat",
|
||||
"F_UI_WaitForPlayer": "Se așteaptă jucătorul {0}",
|
||||
"F_UI_WaitForPlayers": "Se așteaptă {0} jucători",
|
||||
"F_UI_ToSLong": "Bun venit in Fika!\n\nFika este un mod co-op pentru SPT care vă permite să vă jucați împreună cu prietenii. Fika este și va rămâne întotdeauna gratuit, dacă ați plătit pentru acesta, ați fost înșelați. De asemenea, nu aveți dreptul de a găzdui servere publice cu sisteme de plată sau donații.\n\nVă rugăm să așteptati ca acest mesaj să dispară pentru a accepta termenii și condițiile.\n\nVă puteți alătura serverului nostru de discord aici: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Bun venit in Fika!\n\nFika este un mod co-op pentru SPT care vă permite să vă jucați împreună cu prietenii. Fika este și va rămâne întotdeauna gratuit, dacă ați plătit pentru acesta, ați fost înșelați. De asemenea, nu aveți dreptul de a găzdui servere publice cu sisteme de plată sau donații.\n\nVă puteți alătura serverului nostru de discord aici: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "In this mode, you can play online co-op with your friends without the risk of meeting others.\nAll game mechanics in the co-op mode (weather, bots, bosses, etc.) are identical to the online mechanics.\nOnly the hosts settings will take effect.",
|
||||
"F_UI_CoopGameMode": "Fika Co-op Game Mode",
|
||||
"F_UI_CoopRaidSettings": "Fika Co-op Raid Settings",
|
||||
"F_UI_FikaAlwaysCoop": "Co-op is always enabled in Fika",
|
||||
"F_UI_UpnpFailed": "UPnP mapping failed. Make sure the selected port is not already open!\nDisable UPnP if you are using a VPN.",
|
||||
"F_UI_InitWeather": "Se generează vremea...",
|
||||
"F_Notification_RaidStarted": "{0} a început un raid pe {1}",
|
||||
"F_Notification_ItemReceived": "Ai primit un/o {0} de la {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "Editing of RaidSettings is disabled by the server host",
|
||||
"F_UI_ExtractMessage": "Press {0} to extract",
|
||||
"F_UI_DownloadProfile": "DOWNLOAD PROFILE",
|
||||
"F_BepInEx_H_Advanced": "Advanced",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Coop | Name Plates",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Coop | Quest Sharing",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Pinging",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Debug",
|
||||
"F_BepInEx_H_Performance": "Performance",
|
||||
"F_BepInEx_H_PerformanceBots": "Performance | Max Bots",
|
||||
"F_BepInEx_H_Network": "Network",
|
||||
"F_BepInEx_H_Gameplay": "Gameplay",
|
||||
"F_BepInEx_OfficialVersion_T": "Official Version",
|
||||
"F_BepInEx_OfficialVersion_D": "Show official version instead of Fika version.",
|
||||
"F_BepInEx_ShowFeed_T": "Show Feed",
|
||||
"F_BepInEx_ShowFeed_D": "Enable custom notifications when a player dies, extracts, kills a boss, etc.",
|
||||
"F_BepInEx_AutoExtract_T": "Auto Extract",
|
||||
"F_BepInEx_AutoExtract_D": "Automatically extracts after the extraction countdown. As a host, this will only work if there are no clients connected.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Show Extract Message",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Whether to show the extract message after dying/extracting.",
|
||||
"F_BepInEx_ExtractKey_T": "Extract Key",
|
||||
"F_BepInEx_ExtractKey_D": "The key used to extract from the raid.",
|
||||
"F_BepInEx_EnableChat_T": "Enable Chat",
|
||||
"F_BepInEx_EnableChat_D": "Toggle to enable chat in game. Cannot be change mid raid.",
|
||||
"F_BepInEx_ChatKey_T": "Chat Key",
|
||||
"F_BepInEx_ChatKey_D": "The key used to open the chat window.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Enable Online Players",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "If the online players menu should be shown in the menu.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Online Players Scale",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "The scale of the window that displays online players. Only change if it looks out of proportion.\n\nRequires a refresh of the main menu to take effect.",
|
||||
"F_BepInEx_UseNamePlates_T": "Show Player Name Plates",
|
||||
"F_BepInEx_UseNamePlates_D": "If name plates should be shown above teammates.",
|
||||
"F_BepInEx_HideHealthBar_T": "Hide Health Bar",
|
||||
"F_BepInEx_HideHealthBar_D": "Completely hides the health bar.",
|
||||
"F_BepInEx_UsePercent_T": "Show HP% instead of bar",
|
||||
"F_BepInEx_UsePercent_D": "Shows health in % amount instead of using the bar.",
|
||||
"F_BepInEx_ShowEffects_T": "Show Effects",
|
||||
"F_BepInEx_ShowEffects_D": "If status effects should be displayed below the health bar.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Show Player Faction Icon",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Shows the player faction icon next to the HP bar.",
|
||||
"F_BepInEx_HideInOptic_T": "Hide Name Plate in Optic",
|
||||
"F_BepInEx_HideInOptic_D": "Hides the name plate when viewing through PiP scopes.",
|
||||
"F_BepInEx_OpticUseZoom_T": "Name Plates Use Optic Zoom",
|
||||
"F_BepInEx_OpticUseZoom_D": "If name plate location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Decrease Opacity In Peripheral",
|
||||
"F_BepInEx_DecOpacPeri_D": "Decreases the opacity of the name plates when not looking at a player.",
|
||||
"F_BepInEx_NamePlateScale_T": "Name Plate Scale",
|
||||
"F_BepInEx_NamePlateScale_D": "Size of the name plates.",
|
||||
"F_BepInEx_AdsOpac_T": "Opacity in ADS",
|
||||
"F_BepInEx_AdsOpac_D": "The opacity of the name plates when aiming down sights.",
|
||||
"F_BepInEx_MaxDistance_T": "Max Distance to Show",
|
||||
"F_BepInEx_MaxDistance_D": "The maximum distance at which name plates will become invisible, starts to fade at half the input value.",
|
||||
"F_BepInEx_MinOpac_T": "Minimum Opacity",
|
||||
"F_BepInEx_MinOpac_D": "The minimum opacity of the name plates.",
|
||||
"F_BepInEx_MinPlateScale_T": "Minimum Name Plate Scale",
|
||||
"F_BepInEx_MinPlateScale_D": "The minimum scale of the name plates.",
|
||||
"F_BepInEx_UseOcclusion_T": "Use Occlusion",
|
||||
"F_BepInEx_UseOcclusion_D": "Use occlusion to hide the name plate when the player is out of sight.",
|
||||
"F_BepInEx_QuestTypes_T": "Quest Types",
|
||||
"F_BepInEx_QuestTypes_D": "Which quest types to receive and send. PlaceBeacon is both markers and items.",
|
||||
"F_BepInEx_QSNotifications_T": "Show Notifications",
|
||||
"F_BepInEx_QSNotifications_D": "If a notification should be shown when quest progress is shared with out.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Easy Kill Conditions",
|
||||
"F_BepInEx_EasyKillConditions_D": "Enables easy kill conditions. When this is used, any time a friendly player kills something, it treats it as if you killed it for your quests as long as all conditions are met.\nThis can be inconsistent and does not always work.",
|
||||
"F_BepInEx_SharedKillXP_T": "Shared Kill Experience",
|
||||
"F_BepInEx_SharedKillXP_D": "If enabled you will receive ½ of the experience when a friendly player kills an enemy (not bosses).",
|
||||
"F_BepInEx_SharedBossXP_T": "Shared Boss Experience",
|
||||
"F_BepInEx_SharedBossXP_D": "If enabled you will receive ½ of the experience when a friendly player kills a boss.",
|
||||
"F_BepInEx_PingSystem_T": "Ping System",
|
||||
"F_BepInEx_PingSystem_D": "Toggle Ping System. If enabled you can receive and send pings by pressing the ping key.",
|
||||
"F_BepInEx_PingButton_T": "Ping Button",
|
||||
"F_BepInEx_PingButton_D": "Button used to send pings.",
|
||||
"F_BepInEx_PingColor_T": "Ping Color",
|
||||
"F_BepInEx_PingColor_D": "The color of your pings when displayed for other players.",
|
||||
"F_BepInEx_PingSize_T": "Ping Size",
|
||||
"F_BepInEx_PingSize_D": "The multiplier of the ping size.",
|
||||
"F_BepInEx_PingTime_T": "Ping Time",
|
||||
"F_BepInEx_PingTime_D": "How long pings should be displayed.",
|
||||
"F_BepInEx_PingAnimation_T": "Play Ping Animation",
|
||||
"F_BepInEx_PingAnimation_D": "Plays the pointing animation automatically when pinging. Can interfere with gameplay.",
|
||||
"F_BepInEx_PingOptics_T": "Show Ping During Optics",
|
||||
"F_BepInEx_PingOptics_D": "If pings should be displayed while aiming down an optics scope.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Ping Use Optic Zoom",
|
||||
"F_BepInEx_PingOpticZoom_D": "If ping location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Ping Scale With Distance",
|
||||
"F_BepInEx_PingScaleDistance_D": "If ping size should scale with distance from player.",
|
||||
"F_BepInEx_PingMinOpac_T": "Ping Minimum Opacity",
|
||||
"F_BepInEx_PingMinOpac_D": "The minimum opacity of pings when looking straight at them.",
|
||||
"F_BepInEx_PingRange_T": "Show Ping Range",
|
||||
"F_BepInEx_PingRange_D": "Shows the range from your player to the ping if enabled.",
|
||||
"F_BepInEx_PingSound_T": "Ping Sound",
|
||||
"F_BepInEx_PingSound_D": "The audio that plays on ping",
|
||||
"F_BepInEx_FreeCamButton_T": "Free Camera Button",
|
||||
"F_BepInEx_FreeCamButton_D": "Button used to toggle free camera.",
|
||||
"F_BepInEx_SpectateBots_T": "Allow Spectating Bots",
|
||||
"F_BepInEx_SpectateBots_D": "If we should allow spectating bots if all players are dead/extracted.",
|
||||
"F_BepInEx_AZERTYMode_T": "AZERTY Mode",
|
||||
"F_BepInEx_AZERTYMode_D": "If free camera should use AZERTY keys for input.",
|
||||
"F_BepInEx_DroneMode_T": "Drone Mode",
|
||||
"F_BepInEx_DroneMode_D": "If the free camera should move only along the vertical axis like a drone.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Keybind Overlay",
|
||||
"F_BepInEx_KeybindOverlay_D": "If an overlay with all free cam keybinds should show.",
|
||||
"F_BepInEx_DynamicAI_T": "Dynamic AI",
|
||||
"F_BepInEx_DynamicAI_D": "Use the dynamic AI system, disabling AI when they are outside of all player's range.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Dynamic AI Range",
|
||||
"F_BepInEx_DynamicAIRange_D": "The range at which AI will be disabled dynamically.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Dynamic AI Rate",
|
||||
"F_BepInEx_DynamicAIRate_D": "How often DynamicAI should scan for the range from all players.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignore Snipers",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Whether Dynamic AI should ignore sniper scavs.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Enforced Spawn Limits",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Enforces spawn limits when spawning bots, making sure to not go over the vanilla limits. This mainly takes affect when using spawn mods or anything that modifies the bot limits. Will not block spawns of special bots like bosses.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Despawn Furthest",
|
||||
"F_BepInEx_DespawnFurthest_D": "When enforcing spawn limits, should the furthest bot be de-spawned instead of blocking the spawn. This will make for a much more active raid on a lower Max Bots count. Helpful for weaker PCs. Will only despawn pmcs and scavs. If you don't run a dynamic spawn mod, this will however quickly exhaust the spawns on the map, making the raid very dead instead.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Despawn Minimum Distance",
|
||||
"F_BepInEx_DespawnMinDistance_D": "The minimum distance to despawn a bot.",
|
||||
"F_BepInEx_MaxBots_T": "Max Bots {0}",
|
||||
"F_BepInEx_MaxBots_D": "Max amount of bots that can be active at the same time on {0}. Useful if you have a weaker PC. Set to 0 to use vanilla limits. Cannot be changed during a raid.",
|
||||
"F_BepInEx_NativeSockets_T": "Native Sockets",
|
||||
"F_BepInEx_NativeSockets_D": "Use NativeSockets for gameplay traffic. This uses direct socket calls for send/receive to drastically increase speed and reduce GC pressure. Only for Windows/Linux and might not always work.",
|
||||
"F_BepInEx_ForceIP_T": "Force IP",
|
||||
"F_BepInEx_ForceIP_D": "Forces the server when hosting to use this IP when broadcasting to the backend instead of automatically trying to fetch it. Leave empty to disable.",
|
||||
"F_BepInEx_ForceBindIP_T": "Force Bind IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Forces the server when hosting to use this local adapter when starting the server. Useful if you are hosting on a VPN.",
|
||||
"F_BepInEx_UDPPort_T": "UDP Port",
|
||||
"F_BepInEx_UDPPort_D": "Port to use for UDP gameplay packets.",
|
||||
"F_BepInEx_UseUPnP_T": "Use UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Attempt to open ports using UPnP. Useful if you cannot open ports yourself but the router supports UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Use NAT Punching",
|
||||
"F_BepInEx_UseNatPunch_D": "Use NAT punching when hosting a raid. Only works with fullcone NAT type routers and requires NatPunchServer to be running on the SPT server. UPnP, Force IP and Force Bind IP are disabled with this mode.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Connection Timeout",
|
||||
"F_BepInEx_ConnectionTimeout_D": "How long it takes for a connection to be considered dropped if no packets are received.",
|
||||
"F_BepInEx_SendRate_T": "Send Rate",
|
||||
"F_BepInEx_SendRate_D": "How often per second movement packets should be sent (lower = less bandwidth used, slight more delay during interpolation)\nThis only affects the host and will be synchronized to all clients.\nAmount is per second:\n\nVery Low = 10\nLow = 15\nMedium = 20\nHigh = 30\n\nRecommended to leave at no higher than Medium as the gains are insignificant after.",
|
||||
"F_BepInEx_SmoothingRate_T": "Smoothing Rate",
|
||||
"F_BepInEx_SmoothingRate_D": "Local simulation is behind by (Send Rate * Smoothing Rate). This guarantees that we always have enough snapshots in the buffer to mitigate lags & jitter during interpolation.\n\nLow = 1.5\nMedium = 2\nHigh = 2.5\n\nSet this to 'High' if movement isn't smooth. Cannot be changed during a raid.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Disable Bot Metabolism",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Disables metabolism on bots, preventing them from dying from loss of energy/hydration during long raids.",
|
||||
"F_MMUI_OnlinePlayers": "ONLINE PLAYERS: {0}",
|
||||
"F_MMUI_InMenu": "In Menu",
|
||||
"F_MMUI_InRaid": "In Raid",
|
||||
"F_MMUI_InStash": "In Stash",
|
||||
"F_MMUI_InHideout": "In Hideout",
|
||||
"F_MMUI_InFlea": "In Flea",
|
||||
"F_MMUI_RaidDetails": "Playing as a {0} on {1}\nTime: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Добро пожаловать в Fika - кооперативную ОФФЛАЙН модификацию для SPT.",
|
||||
"NDA free warning": "Чтобы создать/подключиться к игре, вы должны выбрать карту и перейти к последнему меню, чтобы использовать поиск доступных серверов.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "Получен прогресс общего задания от {0} для задания {1}",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} взял {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} положил предмет для {1}",
|
||||
"F_Client_ReceivePing": "Получен пинг от {0}",
|
||||
"F_Client_ReceivePingObject": "{0} отметил {1}",
|
||||
"F_Client_RandomSpawnPoints": "Используются случайные точки появления",
|
||||
"F_Client_MetabolismDisabled": "Метаболизм выключен",
|
||||
"F_Client_YouAreMIA": "Вы пропали без вести...",
|
||||
"F_Client_KilledBoss": "{0} убил босса {1}",
|
||||
"F_Client_GroupMemberSpawned": "Участник группы {0} появился",
|
||||
"F_Client_GroupMemberExtracted": "Участник группы {0} вышел из рейда",
|
||||
"F_Client_GroupMemberDiedFrom": "Участник группы {0} погиб от {1}",
|
||||
"F_Client_GroupMemberDied": "Участник группы {0} погиб",
|
||||
"F_Client_ConnectedToServer": "Подключено к серверу с портом {0}",
|
||||
"F_Client_ServerStarted": "Сервер запущен с портом {0}",
|
||||
"F_Client_CouldNotFindValidIP": "Не удалось найти указанный локальный IP-адрес!",
|
||||
"F_Client_ReconnectRequested": "Запрос переподключения, возможны проблемы с производительностью...",
|
||||
"F_Client_PeerConnected": "Клиент подключен к серверу с портом {0}",
|
||||
"F_Client_PeerDisconnected": "Клиент отключен {0}, причина: {1}",
|
||||
"F_Client_ConnectingToSession": "Подключение к сессии...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} не будет отправлен, так как находится в черном списке",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} содержит {1} который находится в черном списке",
|
||||
"F_Client_SavedProfile": "Профиль перезаписан с {0} в {1}",
|
||||
"F_Client_UnknownError": "Было отправлено неизвестное исключение, проверьте лог файл",
|
||||
"F_Client_HostCannotExtract": "Вы не можете выйти из рейда, пока не вышли все игроки",
|
||||
"F_Client_HostCannotExtractMenu": "Вы не можете выйти из рейда пока есть подключенные игроки! Осталось: {0}",
|
||||
"F_Client_Wait5Seconds": "Пожалуйста, подождите хотя бы 5 секунд после отключения последнего игрока перед тем как выходить",
|
||||
"F_Client_StartingRaid": "Начинаем рейд, пожалуйста подождите...",
|
||||
"F_Client_LostConnection": "Потеряно соединение с хостом",
|
||||
"F_Client_StartingRaidOnDedicated": "Игра на выделенном сервере загружается... пожалуйста, подождите",
|
||||
"F_SendItem_Header": "ВЫБЕРИТЕ ИГРОКА",
|
||||
"F_SendItem_SendButton": "ОТПРАВИТЬ",
|
||||
"F_MMUI_RaidsHeader": "РЕЙДЫ",
|
||||
"F_MMUI_HostRaidButton": "СОЗДАТЬ РЕЙД",
|
||||
"F_MMUI_JoinButton": "ВОЙТИ",
|
||||
"F_MMUI_SelectAmountHeader": "ВЫБЕРИТЕ КОЛ-ВО",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "Сколько человек (включая вас) будет играть?",
|
||||
"F_MMUI_UseDedicatedHost": "Использовать выделенный хост",
|
||||
"F_MMUI_StartButton": "НАЧАТЬ",
|
||||
"F_MMUI_LoadingScreenHeader": "ЗАГРУЗКА",
|
||||
"F_MMUI_LoadingScreenDescription": "Пожалуйста, подождите, пока рейд инициализируется... это может занять некоторое время.",
|
||||
"F_MMUI_JoinAsSpectator": "Присоединиться как зритель",
|
||||
"F_UI_StartRaid": "Начать Рейд",
|
||||
"F_UI_StartRaidDescription": "Начать рейд\nНовые игроки не смогут присоединиться",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Невозможно присоединиться к рейду на другой карте.\nРейд на карте: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Невозможно присоединиться к рейду в другом времени.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "Вы не можете присоединиться к рейду дикого как ЧВК.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "Вы не можете присоединиться к рейду ЧВК как дикий.",
|
||||
"F_UI_HostStillLoading": "Хост все еще загружается.",
|
||||
"F_UI_RaidInProgress": "Рейд уже в процессе.",
|
||||
"F_UI_ReJoinRaid": "Нажмите чтобы перезайти в рейд.",
|
||||
"F_UI_CannotReJoinRaidDied": "Невозможно переподключиться к рейду, где вы умерли.",
|
||||
"F_UI_JoinRaid": "Нажмите, чтобы присоединиться к рейду.",
|
||||
"F_UI_ErrorConnecting": "ОШИБКА СОЕДИНЕНИЯ",
|
||||
"F_UI_UnableToConnect": "Невозможно подключиться к серверу. Убедитесь, что все порты открыты и все настройки настроены правильно.",
|
||||
"F_UI_FikaPingerFailStart": "Не удалось запустить FikaPinger!",
|
||||
"F_UI_RefreshRaids": "Обновить список активных рейдов.",
|
||||
"F_UI_DedicatedError": "СЕРВЕРНАЯ ОШИБКА",
|
||||
"F_UI_ErrorForceIPHeader": "ОШИБКА ПРЯМОГО АЙПИ",
|
||||
"F_UI_ErrorForceIP": "'{0}' не является допустимым IP-адресом для подключения! Проверьте настройки 'Принудительный IP'.",
|
||||
"F_UI_ErrorBindIPHeader": "ОШИБКА ЗАПИСИ",
|
||||
"F_UI_ErrorBindIP": "'{0}' не является допустимым IP-адресом для привязки! Проверьте параметр 'Принудительная привязка к IP'.",
|
||||
"F_UI_NoDedicatedClients": "Нет выделенных клиентов.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "Ожидание завершения инициализации рейда...",
|
||||
"F_UI_WaitForOtherPlayers": "Ожидание загрузки других игроков...",
|
||||
"F_UI_RetrieveSpawnInfo": "Получение информации о спавне с сервера...",
|
||||
"F_UI_RetrieveLoot": "Получение лута с сервера...",
|
||||
"F_UI_WaitForHostInit": "Ожидание инициализации рейда хостом...",
|
||||
"F_UI_Reconnecting": "Переподключение...",
|
||||
"F_UI_RetrieveExfilData": "Получение данных о выходах с сервера...",
|
||||
"F_UI_RetrieveInteractables": "Получение интерактивных объектов с сервера...",
|
||||
"F_UI_InitCoopGame": "Инициализация кооперативной игры...",
|
||||
"F_UI_AllPlayersJoined": "Все игроки присоединились, начинаем игру...",
|
||||
"F_UI_WaitingForConnect": "Ожидание подключения клиента к серверу... Если нет уведомлений, оно не удалось.",
|
||||
"F_UI_ErrorConnectingToRaid": "Не удалось подключиться к серверу рейда. Убедитесь, что порты переадресованы и/или UPnP включен и поддерживается.",
|
||||
"F_UI_FinishingRaidInit": "Завершение инициализации рейда...",
|
||||
"F_UI_SyncThrowables": "Синхронизация метательного оружия...",
|
||||
"F_UI_SyncInteractables": "Синхронизация интерактивных объёктов...",
|
||||
"F_UI_SyncLampStates": "Синхронизация состояний ламп...",
|
||||
"F_UI_SyncWindows": "Синхронизация окон...",
|
||||
"F_UI_ReceiveOwnPlayer": "Получение своего игрока...",
|
||||
"F_UI_FinishReconnect": "Завершение переподключения...",
|
||||
"F_Client_FreeCamInputDisabled": "Управление свободной камерой выключено",
|
||||
"F_Client_FreeCamInputEnabled": "Управление свободной камерой включено",
|
||||
"F_UI_WaitForPlayer": "Ожидание {0} игрока",
|
||||
"F_UI_WaitForPlayers": "Ожидание {0} игроков",
|
||||
"F_UI_ToSLong": "Fika это кооперативная модификация для SPT, позволяющая вам играть со своими друзьями. Fika всегда была и всегда будет бесплатной, если вы заплатили - вас обманули. Также запрещено хостить публичные сервера с монетизацией или сбором пожертвований.\n\nПодождите пока это сообщение исчезнет, чтобы принять наши Условия использования.\n\nВы можете вступить в наш Discord по этой ссылке: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Fika это кооперативная модификация для SPT, позволяющая вам играть со своими друзьями. Fika всегда была и всегда будет бесплатной, если вы заплатили - вас обманули. Также запрещено хостить публичные сервера с монетизацией или сбором пожертвований.\n\nВы можете вступить в наш Discord по этой ссылке: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "В этом режиме вы можете играть в кооператив с друзьями в сети без риска встречи с другими.\\nВсе игровые механики в кооперативном режиме (погода, боты, боты и т. д.) идентично онлайн.\\nВступят в силу только настройки хоста.",
|
||||
"F_UI_CoopGameMode": "Кооперативный Режим Fika",
|
||||
"F_UI_CoopRaidSettings": "Настройки Кооперативного Рейда Fika",
|
||||
"F_UI_FikaAlwaysCoop": "Кооператив всегда включен в Fika",
|
||||
"F_UI_UpnpFailed": "Ошибка сопоставления UPnP. Убедитесь, что выбранный порт уже не открыт!\\nОтключите UPnP, если вы используете VPN.",
|
||||
"F_UI_InitWeather": "Генерируем погоду...",
|
||||
"F_Notification_RaidStarted": "{0} запустил рейд на {1}",
|
||||
"F_Notification_ItemReceived": "Вы получили {0} от {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "Редактирование настроек рейда отключено хостом сервера",
|
||||
"F_UI_ExtractMessage": "Нажмите {0} для выхода",
|
||||
"F_UI_DownloadProfile": "СКАЧАТЬ ПРОФИЛЬ",
|
||||
"F_BepInEx_H_Advanced": "Расширенные",
|
||||
"F_BepInEx_H_Coop": "Кооп",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Кооп | Таблички с именами",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Кооп | Совместное выполнение квеста",
|
||||
"F_BepInEx_H_Coop_Pinging": "Кооп | Метки",
|
||||
"F_BepInEx_H_Coop_Debug": "Кооп | Отладка",
|
||||
"F_BepInEx_H_Performance": "Производительность",
|
||||
"F_BepInEx_H_PerformanceBots": "Производительность | Максимум ботов",
|
||||
"F_BepInEx_H_Network": "Сеть",
|
||||
"F_BepInEx_H_Gameplay": "Геймплей",
|
||||
"F_BepInEx_OfficialVersion_T": "Официальная версия",
|
||||
"F_BepInEx_OfficialVersion_D": "Показывать официальную версию вместо Fika.",
|
||||
"F_BepInEx_ShowFeed_T": "Лента событий",
|
||||
"F_BepInEx_ShowFeed_D": "Включить пользовательские уведомления, когда игрок умирает, выходит с рейда, убивает босса и т. д.",
|
||||
"F_BepInEx_AutoExtract_T": "Автоматический выход",
|
||||
"F_BepInEx_AutoExtract_D": "Хост автоматически выходит после обратного отсчета. Это будет работать только в том случае, если нет подключенных клиентов.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Показать сообщение о выходе",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Показывать ли сообщение выхода с рейда после смерти/эвакуации.",
|
||||
"F_BepInEx_ExtractKey_T": "Кнопка для выхода из рейда",
|
||||
"F_BepInEx_ExtractKey_D": "Кнопка, используемая для выхода из рейда.",
|
||||
"F_BepInEx_EnableChat_T": "Включить чат",
|
||||
"F_BepInEx_EnableChat_D": "Включить чат в игре. Нельзя изменить во время рейда.",
|
||||
"F_BepInEx_ChatKey_T": "Кнопка чата",
|
||||
"F_BepInEx_ChatKey_D": "Кнопка, используемая для открытия окна чата.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Показывать меню «Игроки онлайн»",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "Отображает в главном меню игроков на сервере.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Масштаб окна онлайн игроков",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "Масштаб окна «Игроки онлайн». Изменять только в случае, если он выглядит вне пропорций.\n\nДля вступления в силу требуется обновление главного меню.",
|
||||
"F_BepInEx_UseNamePlates_T": "Показать таблички с никами игроков",
|
||||
"F_BepInEx_UseNamePlates_D": "Если включено, над вашими союзниками будут отображаться таблички с их именами.",
|
||||
"F_BepInEx_HideHealthBar_T": "Скрыть шкалу здоровья",
|
||||
"F_BepInEx_HideHealthBar_D": "Полностью скрывает полосу здоровья.",
|
||||
"F_BepInEx_UsePercent_T": "Показывать здоровье в % вместо шкалы",
|
||||
"F_BepInEx_UsePercent_D": "Если включено, количество здоровья будет отображаться в виде процентов, а не графической шкалы.",
|
||||
"F_BepInEx_ShowEffects_T": "Показывать эффекты",
|
||||
"F_BepInEx_ShowEffects_D": "Если включено, под шкалой здоровья будут отображаться иконки действующих на персонажа положительных и отрицательных эффектов.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Показать иконку фракции игрока",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Показывать иконку фракции игрока рядом со строкой здоровья.",
|
||||
"F_BepInEx_HideInOptic_T": "Скрыть ники в оптике",
|
||||
"F_BepInEx_HideInOptic_D": "Скрывает таблички с именами при использовании оптики (PiP).",
|
||||
"F_BepInEx_OpticUseZoom_T": "Таблички с именами используют оптическое приближение",
|
||||
"F_BepInEx_OpticUseZoom_D": "Если включено, при использовании оптического прицела с режимом \"картинка в картинке\" (PiP) положение таблички с именем игрока будет отображаться с приближением, соответствующим увеличению в оптическом прицеле.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Уменьшать непрозрачность табличек с именами на периферии",
|
||||
"F_BepInEx_DecOpacPeri_D": "Если включено, таблички с именами игроков, которые находятся не в центре экрана, а на периферии вашего зрения, будут становиться более прозрачными.",
|
||||
"F_BepInEx_NamePlateScale_T": "Масштаб табличек с именами",
|
||||
"F_BepInEx_NamePlateScale_D": "Устанавливает размер табличек с именами игроков.",
|
||||
"F_BepInEx_AdsOpac_T": "Непрозрачность в ADS",
|
||||
"F_BepInEx_AdsOpac_D": "Определяет непрозрачность табличек с именами игроков при прицеливании (ADS = Aiming Down Sights).",
|
||||
"F_BepInEx_MaxDistance_T": "Максимальное расстояние видимости табличек с именами",
|
||||
"F_BepInEx_MaxDistance_D": "Задает максимальное расстояние, на котором будут видны таблички с именами игроков. Таблички начинают постепенно становиться прозрачными на половине указанного расстояния и полностью исчезают по достижении максимального значения.",
|
||||
"F_BepInEx_MinOpac_T": "Минимальная непрозрачность",
|
||||
"F_BepInEx_MinOpac_D": "Минимальная непрозрачность табличек с именами.",
|
||||
"F_BepInEx_MinPlateScale_T": "Минимальный масштаб табличек с именами",
|
||||
"F_BepInEx_MinPlateScale_D": "Устанавливает минимальный размер табличек с именами игроков.",
|
||||
"F_BepInEx_UseOcclusion_T": "Использовать окклюзию",
|
||||
"F_BepInEx_UseOcclusion_D": "Использовать окклюзию, чтобы скрыть табличку с именем, когда игрок вне поля зрения.",
|
||||
"F_BepInEx_QuestTypes_T": "Типы заданий",
|
||||
"F_BepInEx_QuestTypes_D": "Определяет, какие типы квестов получать и отправлять. Тип квеста «Установить маячок» включает в себя как маркеры, так и предметы.",
|
||||
"F_BepInEx_QSNotifications_T": "Показывать уведомления",
|
||||
"F_BepInEx_QSNotifications_D": "Должно ли отображаться уведомление, когда прогресс квеста передается другим игрокам.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Упрощенные условия убийства",
|
||||
"F_BepInEx_EasyKillConditions_D": "Включает упрощенный режим выполнения квестов, связанных с убийствами. Если эта опция активна, то убийства, совершенные вашими союзниками, будут засчитываться вам так, как если бы вы совершили их сами, при условии, что соблюдены все остальные требования квеста. Эта функция может работать нестабильно.",
|
||||
"F_BepInEx_SharedKillXP_T": "Общий опыт за убийства",
|
||||
"F_BepInEx_SharedKillXP_D": "Если включено, вы будете получать половину опыта за убийство обычных врагов (не боссов), совершенное союзным игроком.",
|
||||
"F_BepInEx_SharedBossXP_T": "Общий опыт за боссов",
|
||||
"F_BepInEx_SharedBossXP_D": "Если включено, вы будете получать половину опыта за убийство босса, совершенное союзным игроком.",
|
||||
"F_BepInEx_PingSystem_T": "Система меток",
|
||||
"F_BepInEx_PingSystem_D": "Включает систему меток. Если система включена, вы можете отправлять и получать метки, нажимая назначенную клавишу.",
|
||||
"F_BepInEx_PingButton_T": "Клавиша отправки меток",
|
||||
"F_BepInEx_PingButton_D": "Кнопка, используемая для отправки меток.",
|
||||
"F_BepInEx_PingColor_T": "Цвет метки",
|
||||
"F_BepInEx_PingColor_D": "Определяет цвет ваших меток, который будут видеть другие игроки.",
|
||||
"F_BepInEx_PingSize_T": "Размер метки",
|
||||
"F_BepInEx_PingSize_D": "Множитель размера метки.",
|
||||
"F_BepInEx_PingTime_T": "Время отображения метки",
|
||||
"F_BepInEx_PingTime_D": "Определяет, как долго метки будут отображаться на экране.",
|
||||
"F_BepInEx_PingAnimation_T": "Воспроизведение анимации метки",
|
||||
"F_BepInEx_PingAnimation_D": "Если включено, при установке метки будет автоматически проигрываться анимация указания персонажем. Эта анимация может помешать игровому процессу.",
|
||||
"F_BepInEx_PingOptics_T": "Отображать метки при прицеливании через оптику",
|
||||
"F_BepInEx_PingOptics_D": "Если включено, метки будут отображаться при использовании оптического прицела.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Отображать метки с приближением PiP оптики",
|
||||
"F_BepInEx_PingOpticZoom_D": "Если включено, местоположение метки будет отображаться с приближением в режиме «картинка в картинке» при использовании совместимого оптического прицела.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Масштабировать метки от расстояния",
|
||||
"F_BepInEx_PingScaleDistance_D": "Если включено, размер метки будет изменяться в зависимости от расстояния до игрока: чем дальше метка, тем меньше она будет отображаться.",
|
||||
"F_BepInEx_PingMinOpac_T": "Минимальная непрозрачность меток",
|
||||
"F_BepInEx_PingMinOpac_D": "Устанавливает минимальное значение непрозрачности для меток, когда вы смотрите прямо на них. Чем выше значение, тем менее прозрачной будет метка.",
|
||||
"F_BepInEx_PingRange_T": "Показывать расстояние до метки",
|
||||
"F_BepInEx_PingRange_D": "Если включено, будет отображаться расстояние от вашего персонажа до поставленной метки.",
|
||||
"F_BepInEx_PingSound_T": "Звуковой сигнал метки",
|
||||
"F_BepInEx_PingSound_D": "Звук, который воспроизводится при установке метки",
|
||||
"F_BepInEx_FreeCamButton_T": "Кнопка «Свободная камера»",
|
||||
"F_BepInEx_FreeCamButton_D": "Кнопка используется для переключения свободной камеры.",
|
||||
"F_BepInEx_SpectateBots_T": "Разрешить наблюдать за ботами",
|
||||
"F_BepInEx_SpectateBots_D": "Если включено, то после смерти или эвакуации всех игроков будет разрешено наблюдать за ботами.",
|
||||
"F_BepInEx_AZERTYMode_T": "Режим AZERTY",
|
||||
"F_BepInEx_AZERTYMode_D": "Включает режим управления свободной камерой для клавиатур с раскладкой AZERTY. Используются клавиши Z, Q, S, D вместо W, A, S, D.",
|
||||
"F_BepInEx_DroneMode_T": "Режим «Дрон»",
|
||||
"F_BepInEx_DroneMode_D": "Если включено, свободная камера будет перемещаться только вверх и вниз, имитируя полет дрона.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Оверлей горячих клавиш",
|
||||
"F_BepInEx_KeybindOverlay_D": "Если включено, на экране будет отображаться оверлей со списком всех назначенных клавиш для управления свободной камерой.",
|
||||
"F_BepInEx_DynamicAI_T": "Динамический ИИ",
|
||||
"F_BepInEx_DynamicAI_D": "Включает динамическую систему ИИ, которая отключает ботов, когда они находятся вне радиуса действия всех игроков. Это может повысить производительность.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Радиус отключения динамического ИИ",
|
||||
"F_BepInEx_DynamicAIRange_D": "Задает радиус, за пределами которого динамическая система ИИ будет отключать ботов.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Частота сканирования динамического ИИ",
|
||||
"F_BepInEx_DynamicAIRate_D": "Определяет, как часто динамическая система ИИ должна проверять расстояние от всех игроков для определения необходимости отключения ботов.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Динамический ИИ: игнорировать снайперов",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Определяет, должна ли динамическая система ИИ игнорировать снайперов при определении необходимости их отключения.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Принудительные лимиты спавна",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Принудительно ограничивает количество одновременно появляющихся ботов, не допуская превышения лимитов, установленных в оригинальной игре. В основном влияет на игру при использовании модов, изменяющих количество ботов. Не блокирует появление особых ботов, таких как боссы.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Удалять самого дальнего бота при достижении лимита",
|
||||
"F_BepInEx_DespawnFurthest_D": "При принуждении лимита спавнов, должен ли удаляться самый дальний от игрока бот, вместо блокировки спавна. Это сделает рейды намного динамичнее при низшем максимальном количестве ботов. Полезно для слабых ПК. Удаляться будут только ЧВК и дикие. Если вы не используете моды на динамический спавн ботов, это приведет к быстрому истощению пула доступных для спавна ботов на карте, делая рейды очень скучными.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Минимальное расстояние для удаления бота",
|
||||
"F_BepInEx_DespawnMinDistance_D": "Задает минимальное расстояние от игрока, на котором бот может быть удален.",
|
||||
"F_BepInEx_MaxBots_T": "Максимум ботов {0}",
|
||||
"F_BepInEx_MaxBots_D": "Определяет максимальное количество ботов, которые могут быть активны одновременно на карте {0}. Полезно если у вас ПК послабее. Установите значение 0, чтобы использовать ванильные лимиты. Этот параметр нельзя изменить во время рейда.",
|
||||
"F_BepInEx_NativeSockets_T": "Нативные сокеты",
|
||||
"F_BepInEx_NativeSockets_D": "Задействуют прямые системные вызовы для отправки/получения данных, что значительно увеличивает скорость и снижает нагрузку на сборщик мусора. Работает только на Windows/Linux и может работать нестабильно.",
|
||||
"F_BepInEx_ForceIP_T": "Принудительный IP",
|
||||
"F_BepInEx_ForceIP_D": "Принудительно заставляет сервер использовать этот IP при трансляции на бэкэнд вместо автоматической попытки получить его. Оставьте пустым для отключения.",
|
||||
"F_BepInEx_ForceBindIP_T": "Принудительная привязка IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Принудительно указывает серверу использовать этот локальный адаптер при запуске сервера. Полезно, если вы запускаете сервер, используя VPN.",
|
||||
"F_BepInEx_UDPPort_T": "UDP-порт",
|
||||
"F_BepInEx_UDPPort_D": "Порт который, будет использоваться для передачи UDP-пакетов игрового процесса.",
|
||||
"F_BepInEx_UseUPnP_T": "Использовать UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Попытаться открыть порты с помощью UPnP. Полезно, если вы не можете открыть порты самостоятельно, но ваш роутер поддерживает UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Использовать NAT Punching",
|
||||
"F_BepInEx_UseNatPunch_D": "Использовать NAT Punching при хостинге рейда. Работает только с роутерами, поддерживающими full cone NAT, и требует, чтобы на SPT сервере был запущен NatPunchServer. UPnP, Force IP и Force Bind IP отключены с этим режимом.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Время ожидания соединения",
|
||||
"F_BepInEx_ConnectionTimeout_D": "Определяет, через какое время соединение будет считаться разорванным, если от клиента или сервера не поступает никаких пакетов данных.",
|
||||
"F_BepInEx_SendRate_T": "Скорость отправки",
|
||||
"F_BepInEx_SendRate_D": "Как часто в секунду перемещать пакеты передвижения(меньше = меньше использованной пропускной способности, чуть больше задержек во время интерполяции)\nЭто влияет только на хост и будет синхронизировано со всеми клиентами.\nКоличество в секунду:\n\nОчень Низко = 10\nНизко = 15\nСредне = 20\nВысоко = 30\n\nРекомендуется оставить не выше среднего, так как приросты после незначительны.",
|
||||
"F_BepInEx_SmoothingRate_T": "Уровень сглаживания",
|
||||
"F_BepInEx_SmoothingRate_D": "Локальная симуляция отстает на (Скорость отправки * Скорость сглаживания). Это гарантирует, что у нас всегда будет достаточно кадров в буфере для уменьшения задержек и джиттера при интерполяции.\n\nНизкий = 1,5\nСредний = 2\nВысокий = 2,5\n\nУстановите значение «Высокий», если движение не является плавным. Не может быть изменено во время рейда.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Отключить метаболизм у ботов",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Отключает метаболизм у ботов, не давая им умереть от потери энергии/воды во время длительных рейдов.",
|
||||
"F_MMUI_OnlinePlayers": "ОНЛАЙН ИГРОКОВ: {0}",
|
||||
"F_MMUI_InMenu": "В Меню",
|
||||
"F_MMUI_InRaid": "В Рейде",
|
||||
"F_MMUI_InStash": "В Схроне",
|
||||
"F_MMUI_InHideout": "В Убежище",
|
||||
"F_MMUI_InFlea": "На Барахолке",
|
||||
"F_MMUI_RaidDetails": "Играет за {0} на {1}\nВремя: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "Vitaj, v projekte Fika, OFFLINE Coop mód pre SPT.",
|
||||
"NDA free warning": "Pre vytvorenie/pripojenie sa do hry si vyber mapu a na poslednej obrazovke použi prehliadač serverov.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "Dostal si zdieľaný postup od {0} pre úlohu {1}",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} vzal {1}",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0} uložil predmet pre {1}",
|
||||
"F_Client_ReceivePing": "Dostal ping od {0}",
|
||||
"F_Client_ReceivePingObject": "{0} pingol {1}",
|
||||
"F_Client_RandomSpawnPoints": "Použitie náhodných bodov pre spawn",
|
||||
"F_Client_MetabolismDisabled": "Metabolizmus vypnutý",
|
||||
"F_Client_YouAreMIA": "Stratil si sa v akcii...",
|
||||
"F_Client_KilledBoss": "{0} zabil bossa {1}",
|
||||
"F_Client_GroupMemberSpawned": "Člen skupiny {0} sa spawnol",
|
||||
"F_Client_GroupMemberExtracted": "Člen skupiny {0} sa extrahoval",
|
||||
"F_Client_GroupMemberDiedFrom": "Člen skupiny {0} umrel na {1}",
|
||||
"F_Client_GroupMemberDied": "Člen skupiny {0} umrel",
|
||||
"F_Client_ConnectedToServer": "Pripojený na server na porte {0}",
|
||||
"F_Client_ServerStarted": "Server spustený na porte {0}",
|
||||
"F_Client_CouldNotFindValidIP": "Nepodarilo sa nájsť validnú lokálnu IP adresu!",
|
||||
"F_Client_ReconnectRequested": "Opätovné pripojenie vyžiadané, očakávaj zásek...",
|
||||
"F_Client_PeerConnected": "Peer sa pripojil na server na port {0}",
|
||||
"F_Client_PeerDisconnected": "Peer sa odpojil {0}, info: {1}",
|
||||
"F_Client_ConnectingToSession": "Pripájam sa na reláciu...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} je v blackliste pre posielanie",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} obsahuje {1} ktorý je v blackliste pre posielanie",
|
||||
"F_Client_SavedProfile": "Profil {0} bol uložený do {1}",
|
||||
"F_Client_UnknownError": "Vyskytla sa neznáma chyba, skontroluj log",
|
||||
"F_Client_HostCannotExtract": "Nemôžeš opustiť hru kým sa neodpoja všetci klienti",
|
||||
"F_Client_HostCannotExtractMenu": "Nemôžete sa odpojiť, kým sú stále pripojení peeri! Zostávajúce: {0}",
|
||||
"F_Client_Wait5Seconds": "Prosím počkaj 5 sekúnd po odpojení posledného klienta pred ukončením",
|
||||
"F_Client_StartingRaid": "Spúšťam raid. prosím čakaj...",
|
||||
"F_Client_LostConnection": "Spojenie s hostom bolo stratené",
|
||||
"F_Client_StartingRaidOnDedicated": "Spúšťam raid na dedikovanom klientovi... prosím čakaj",
|
||||
"F_SendItem_Header": "ZVOĽ HRÁČA",
|
||||
"F_SendItem_SendButton": "POSLAŤ",
|
||||
"F_MMUI_RaidsHeader": "RAIDY",
|
||||
"F_MMUI_HostRaidButton": "VYTVORIŤ RAID",
|
||||
"F_MMUI_JoinButton": "PRIPOJIŤ SA",
|
||||
"F_MMUI_SelectAmountHeader": "ZVOLIŤ MNOŽSTVO",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "Koľko ľudí (vrátane teba) bude hrať?",
|
||||
"F_MMUI_UseDedicatedHost": "Použiť dedikovaný server",
|
||||
"F_MMUI_StartButton": "ZAČAŤ",
|
||||
"F_MMUI_LoadingScreenHeader": "NAČÍTAVANIE",
|
||||
"F_MMUI_LoadingScreenDescription": "Prosím čakaj kým sa inicializuje raid... Môže to chvíľu trvať.",
|
||||
"F_MMUI_JoinAsSpectator": "Join as spectator",
|
||||
"F_UI_StartRaid": "Start Raid",
|
||||
"F_UI_StartRaidDescription": "Starts the raid\nNew players will not be able to join",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Nemôžeš sa pripojiť k raidu ktorý je na inej mape.\nMapa: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Nemôžeš sa pripojiť k raidu ktorý je v inom čase.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "Nemôžeš sa pripojiť k scav raidu ako PMC.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "Nemôžeš sa pripojiť k PMC raidu ako scav.",
|
||||
"F_UI_HostStillLoading": "Host sa stále načítava.",
|
||||
"F_UI_RaidInProgress": "Raid už prebieha.",
|
||||
"F_UI_ReJoinRaid": "Kliknutím sa znova pripojíš do raidu.",
|
||||
"F_UI_CannotReJoinRaidDied": "Nemôžeš sa znova pripojiť do raidu v ktorom si umrel.",
|
||||
"F_UI_JoinRaid": "Kliknutím sa pripojíš do raidu.",
|
||||
"F_UI_ErrorConnecting": "ERROR PRI PRIPÁJANÍ",
|
||||
"F_UI_UnableToConnect": "Nepodarilo sa pripojiť na server. Uisti sa že všetky potrebné porty sú otvorené a všetky nastavenia sú správne.",
|
||||
"F_UI_FikaPingerFailStart": "Nepodarilo sa spustiť FikaPinger!",
|
||||
"F_UI_RefreshRaids": "Obnoviť zoznam aktívnych raidov.",
|
||||
"F_UI_DedicatedError": "FIKA DEDIKOVANÝ ERROR",
|
||||
"F_UI_ErrorForceIPHeader": "CHYBA VYNUCOVANIA IP ADRESY",
|
||||
"F_UI_ErrorForceIP": "'{0}' nie je validna IP adresa pre pripojenie! Prosím skontroluj 'Force IP' nastavenie.",
|
||||
"F_UI_ErrorBindIPHeader": "CHYBA PRIRADZOVANIA",
|
||||
"F_UI_ErrorBindIP": "'{0}' nie je validna IP adresa pre priradenie! Prosím skontroluj 'Force IP' nastavenie.",
|
||||
"F_UI_NoDedicatedClients": "Žiadny dedikovaný klienti nie sú dostupný.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "Čakám na hosta kým inicializuje raid...",
|
||||
"F_UI_WaitForOtherPlayers": "Čakám na načítanie ostatných hráčov...",
|
||||
"F_UI_RetrieveSpawnInfo": "Získavam dáta o spawne zo serveru...",
|
||||
"F_UI_RetrieveLoot": "Získavam loot zo serveru...",
|
||||
"F_UI_WaitForHostInit": "Čakám na inicializovanie raidu...",
|
||||
"F_UI_Reconnecting": "Prebieha opätovné pripojenie...",
|
||||
"F_UI_RetrieveExfilData": "Získavam dáta o extraktoch zo serveru...",
|
||||
"F_UI_RetrieveInteractables": "Získavam interagovateľné objekty zo serveru...",
|
||||
"F_UI_InitCoopGame": "Inicializujem coop hru...",
|
||||
"F_UI_AllPlayersJoined": "Všetci hráči pripojený, spúšťam hru...",
|
||||
"F_UI_WaitingForConnect": "Waiting for client to connect to server... If there is no notification it failed.",
|
||||
"F_UI_ErrorConnectingToRaid": "Unable to connect to the raid server. Make sure ports are forwarded and/or UPnP is enabled and supported.",
|
||||
"F_UI_FinishingRaidInit": "Finishing raid initialization...",
|
||||
"F_UI_SyncThrowables": "Syncing throwables...",
|
||||
"F_UI_SyncInteractables": "Syncing interactables...",
|
||||
"F_UI_SyncLampStates": "Syncing lamp states...",
|
||||
"F_UI_SyncWindows": "Syncing windows...",
|
||||
"F_UI_ReceiveOwnPlayer": "Receiving own player...",
|
||||
"F_UI_FinishReconnect": "Finishing reconnect...",
|
||||
"F_Client_FreeCamInputDisabled": "Free cam input disabled",
|
||||
"F_Client_FreeCamInputEnabled": "Free cam input enabled",
|
||||
"F_UI_WaitForPlayer": "Waiting for {0} player",
|
||||
"F_UI_WaitForPlayers": "Waiting for {0} players",
|
||||
"F_UI_ToSLong": "Welcome to Fika!\r\n\r\nFika is a co-op mod for SPT, allowing you to play with your friends. Fika is and will always be free, if you paid for it you got scammed. You are also not allowed to host public servers with monetization or donations.\r\n\r\nWait for this message to fade to accept our Terms of Service.\r\n\r\nYou can join our Discord here: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Welcome to Fika!\r\n\r\nFika is a co-op mod for SPT, allowing you to play with your friends. Fika is and will always be free, if you paid for it you got scammed. You are also not allowed to host public servers with monetization or donations.\r\n\r\nYou can join our Discord here: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "In this mode, you can play online co-op with your friends without the risk of meeting others.\nAll game mechanics in the co-op mode (weather, bots, bosses, etc.) are identical to the online mechanics.\nOnly the hosts settings will take effect.",
|
||||
"F_UI_CoopGameMode": "Fika Co-op Game Mode",
|
||||
"F_UI_CoopRaidSettings": "Fika Co-op Raid Settings",
|
||||
"F_UI_FikaAlwaysCoop": "Co-op is always enabled in Fika",
|
||||
"F_UI_UpnpFailed": "UPnP mapping failed. Make sure the selected port is not already open!\nDisable UPnP if you are using a VPN.",
|
||||
"F_UI_InitWeather": "Generating weather...",
|
||||
"F_Notification_RaidStarted": "{0} started a raid on {1}",
|
||||
"F_Notification_ItemReceived": "You received a {0} from {1}",
|
||||
"F_Notification_RaidSettingsDisabled": "Editing of RaidSettings is disabled by the server host",
|
||||
"F_UI_ExtractMessage": "Stlač {0} pre extrakt",
|
||||
"F_UI_DownloadProfile": "DOWNLOAD PROFILE",
|
||||
"F_BepInEx_H_Advanced": "Pokročilé",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Coop | Menovky",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Coop | Zdieľanie questov",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Pingovanie",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Ladenie",
|
||||
"F_BepInEx_H_Performance": "Výkon",
|
||||
"F_BepInEx_H_PerformanceBots": "Výkon | Max Botov",
|
||||
"F_BepInEx_H_Network": "Sieť",
|
||||
"F_BepInEx_H_Gameplay": "Hrateľnosť",
|
||||
"F_BepInEx_OfficialVersion_T": "Oficiálna verzia",
|
||||
"F_BepInEx_OfficialVersion_D": "Show official version instead of Fika version.",
|
||||
"F_BepInEx_ShowFeed_T": "Zobraziť informačný kanál",
|
||||
"F_BepInEx_ShowFeed_D": "Enable custom notifications when a player dies, extracts, kills a boss, etc.",
|
||||
"F_BepInEx_AutoExtract_T": "Automatický exfil",
|
||||
"F_BepInEx_AutoExtract_D": "Automatically extracts after the extraction countdown. As a host, this will only work if there are no clients connected.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Show Extract Message",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Whether to show the extract message after dying/extracting.",
|
||||
"F_BepInEx_ExtractKey_T": "Extract Key",
|
||||
"F_BepInEx_ExtractKey_D": "The key used to extract from the raid.",
|
||||
"F_BepInEx_EnableChat_T": "Enable Chat",
|
||||
"F_BepInEx_EnableChat_D": "Toggle to enable chat in game. Cannot be change mid raid.",
|
||||
"F_BepInEx_ChatKey_T": "Chat Key",
|
||||
"F_BepInEx_ChatKey_D": "The key used to open the chat window.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Enable Online Players",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "If the online players menu should be shown in the menu.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Online Players Scale",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "The scale of the window that displays online players. Only change if it looks out of proportion.\n\nRequires a refresh of the main menu to take effect.",
|
||||
"F_BepInEx_UseNamePlates_T": "Show Player Name Plates",
|
||||
"F_BepInEx_UseNamePlates_D": "If name plates should be shown above teammates.",
|
||||
"F_BepInEx_HideHealthBar_T": "Hide Health Bar",
|
||||
"F_BepInEx_HideHealthBar_D": "Completely hides the health bar.",
|
||||
"F_BepInEx_UsePercent_T": "Show HP% instead of bar",
|
||||
"F_BepInEx_UsePercent_D": "Shows health in % amount instead of using the bar.",
|
||||
"F_BepInEx_ShowEffects_T": "Show Effects",
|
||||
"F_BepInEx_ShowEffects_D": "If status effects should be displayed below the health bar.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Show Player Faction Icon",
|
||||
"F_BepInEx_ShowFactionIcon_D": "Shows the player faction icon next to the HP bar.",
|
||||
"F_BepInEx_HideInOptic_T": "Hide Name Plate in Optic",
|
||||
"F_BepInEx_HideInOptic_D": "Hides the name plate when viewing through PiP scopes.",
|
||||
"F_BepInEx_OpticUseZoom_T": "Name Plates Use Optic Zoom",
|
||||
"F_BepInEx_OpticUseZoom_D": "If name plate location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Decrease Opacity In Peripheral",
|
||||
"F_BepInEx_DecOpacPeri_D": "Decreases the opacity of the name plates when not looking at a player.",
|
||||
"F_BepInEx_NamePlateScale_T": "Name Plate Scale",
|
||||
"F_BepInEx_NamePlateScale_D": "Size of the name plates.",
|
||||
"F_BepInEx_AdsOpac_T": "Opacity in ADS",
|
||||
"F_BepInEx_AdsOpac_D": "The opacity of the name plates when aiming down sights.",
|
||||
"F_BepInEx_MaxDistance_T": "Max Distance to Show",
|
||||
"F_BepInEx_MaxDistance_D": "The maximum distance at which name plates will become invisible, starts to fade at half the input value.",
|
||||
"F_BepInEx_MinOpac_T": "Minimum Opacity",
|
||||
"F_BepInEx_MinOpac_D": "The minimum opacity of the name plates.",
|
||||
"F_BepInEx_MinPlateScale_T": "Minimum Name Plate Scale",
|
||||
"F_BepInEx_MinPlateScale_D": "The minimum scale of the name plates.",
|
||||
"F_BepInEx_UseOcclusion_T": "Use Occlusion",
|
||||
"F_BepInEx_UseOcclusion_D": "Use occlusion to hide the name plate when the player is out of sight.",
|
||||
"F_BepInEx_QuestTypes_T": "Quest Types",
|
||||
"F_BepInEx_QuestTypes_D": "Which quest types to receive and send. PlaceBeacon is both markers and items.",
|
||||
"F_BepInEx_QSNotifications_T": "Show Notifications",
|
||||
"F_BepInEx_QSNotifications_D": "If a notification should be shown when quest progress is shared with out.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Easy Kill Conditions",
|
||||
"F_BepInEx_EasyKillConditions_D": "Enables easy kill conditions. When this is used, any time a friendly player kills something, it treats it as if you killed it for your quests as long as all conditions are met.\nThis can be inconsistent and does not always work.",
|
||||
"F_BepInEx_SharedKillXP_T": "Shared Kill Experience",
|
||||
"F_BepInEx_SharedKillXP_D": "If enabled you will receive ½ of the experience when a friendly player kills an enemy (not bosses).",
|
||||
"F_BepInEx_SharedBossXP_T": "Shared Boss Experience",
|
||||
"F_BepInEx_SharedBossXP_D": "If enabled you will receive ½ of the experience when a friendly player kills a boss.",
|
||||
"F_BepInEx_PingSystem_T": "Ping System",
|
||||
"F_BepInEx_PingSystem_D": "Toggle Ping System. If enabled you can receive and send pings by pressing the ping key.",
|
||||
"F_BepInEx_PingButton_T": "Ping Button",
|
||||
"F_BepInEx_PingButton_D": "Button used to send pings.",
|
||||
"F_BepInEx_PingColor_T": "Ping Color",
|
||||
"F_BepInEx_PingColor_D": "The color of your pings when displayed for other players.",
|
||||
"F_BepInEx_PingSize_T": "Ping Size",
|
||||
"F_BepInEx_PingSize_D": "The multiplier of the ping size.",
|
||||
"F_BepInEx_PingTime_T": "Ping Time",
|
||||
"F_BepInEx_PingTime_D": "How long pings should be displayed.",
|
||||
"F_BepInEx_PingAnimation_T": "Play Ping Animation",
|
||||
"F_BepInEx_PingAnimation_D": "Plays the pointing animation automatically when pinging. Can interfere with gameplay.",
|
||||
"F_BepInEx_PingOptics_T": "Show Ping During Optics",
|
||||
"F_BepInEx_PingOptics_D": "If pings should be displayed while aiming down an optics scope.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Ping Use Optic Zoom",
|
||||
"F_BepInEx_PingOpticZoom_D": "If ping location should be displayed using the PiP optic camera.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Ping Scale With Distance",
|
||||
"F_BepInEx_PingScaleDistance_D": "If ping size should scale with distance from player.",
|
||||
"F_BepInEx_PingMinOpac_T": "Ping Minimum Opacity",
|
||||
"F_BepInEx_PingMinOpac_D": "The minimum opacity of pings when looking straight at them.",
|
||||
"F_BepInEx_PingRange_T": "Show Ping Range",
|
||||
"F_BepInEx_PingRange_D": "Shows the range from your player to the ping if enabled.",
|
||||
"F_BepInEx_PingSound_T": "Ping Sound",
|
||||
"F_BepInEx_PingSound_D": "The audio that plays on ping",
|
||||
"F_BepInEx_FreeCamButton_T": "Free Camera Button",
|
||||
"F_BepInEx_FreeCamButton_D": "Button used to toggle free camera.",
|
||||
"F_BepInEx_SpectateBots_T": "Allow Spectating Bots",
|
||||
"F_BepInEx_SpectateBots_D": "If we should allow spectating bots if all players are dead/extracted.",
|
||||
"F_BepInEx_AZERTYMode_T": "AZERTY Mode",
|
||||
"F_BepInEx_AZERTYMode_D": "If free camera should use AZERTY keys for input.",
|
||||
"F_BepInEx_DroneMode_T": "Drone Mode",
|
||||
"F_BepInEx_DroneMode_D": "If the free camera should move only along the vertical axis like a drone.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Keybind Overlay",
|
||||
"F_BepInEx_KeybindOverlay_D": "If an overlay with all free cam keybinds should show.",
|
||||
"F_BepInEx_DynamicAI_T": "Dynamic AI",
|
||||
"F_BepInEx_DynamicAI_D": "Use the dynamic AI system, disabling AI when they are outside of all player's range.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Dynamic AI Range",
|
||||
"F_BepInEx_DynamicAIRange_D": "The range at which AI will be disabled dynamically.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Dynamic AI Rate",
|
||||
"F_BepInEx_DynamicAIRate_D": "How often DynamicAI should scan for the range from all players.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Ignore Snipers",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Whether Dynamic AI should ignore sniper scavs.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Enforced Spawn Limits",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Enforces spawn limits when spawning bots, making sure to not go over the vanilla limits. This mainly takes affect when using spawn mods or anything that modifies the bot limits. Will not block spawns of special bots like bosses.",
|
||||
"F_BepInEx_DespawnFurthest_T": "Despawn Furthest",
|
||||
"F_BepInEx_DespawnFurthest_D": "When enforcing spawn limits, should the furthest bot be de-spawned instead of blocking the spawn. This will make for a much more active raid on a lower Max Bots count. Helpful for weaker PCs. Will only despawn pmcs and scavs. If you don't run a dynamic spawn mod, this will however quickly exhaust the spawns on the map, making the raid very dead instead.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Despawn Minimum Distance",
|
||||
"F_BepInEx_DespawnMinDistance_D": "The minimum distance to despawn a bot.",
|
||||
"F_BepInEx_MaxBots_T": "Max Bots {0}",
|
||||
"F_BepInEx_MaxBots_D": "Max amount of bots that can be active at the same time on {0}. Useful if you have a weaker PC. Set to 0 to use vanilla limits. Cannot be changed during a raid.",
|
||||
"F_BepInEx_NativeSockets_T": "Native Sockets",
|
||||
"F_BepInEx_NativeSockets_D": "Use NativeSockets for gameplay traffic. This uses direct socket calls for send/receive to drastically increase speed and reduce GC pressure. Only for Windows/Linux and might not always work.",
|
||||
"F_BepInEx_ForceIP_T": "Force IP",
|
||||
"F_BepInEx_ForceIP_D": "Forces the server when hosting to use this IP when broadcasting to the backend instead of automatically trying to fetch it. Leave empty to disable.",
|
||||
"F_BepInEx_ForceBindIP_T": "Force Bind IP",
|
||||
"F_BepInEx_ForceBindIP_D": "Forces the server when hosting to use this local adapter when starting the server. Useful if you are hosting on a VPN.",
|
||||
"F_BepInEx_UDPPort_T": "UDP Port",
|
||||
"F_BepInEx_UDPPort_D": "Port to use for UDP gameplay packets.",
|
||||
"F_BepInEx_UseUPnP_T": "Use UPnP",
|
||||
"F_BepInEx_UseUPnP_D": "Attempt to open ports using UPnP. Useful if you cannot open ports yourself but the router supports UPnP.",
|
||||
"F_BepInEx_UseNatPunch_T": "Use NAT Punching",
|
||||
"F_BepInEx_UseNatPunch_D": "Use NAT punching when hosting a raid. Only works with fullcone NAT type routers and requires NatPunchServer to be running on the SPT server. UPnP, Force IP and Force Bind IP are disabled with this mode.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Connection Timeout",
|
||||
"F_BepInEx_ConnectionTimeout_D": "How long it takes for a connection to be considered dropped if no packets are received.",
|
||||
"F_BepInEx_SendRate_T": "Send Rate",
|
||||
"F_BepInEx_SendRate_D": "How often per second movement packets should be sent (lower = less bandwidth used, slight more delay during interpolation)\nThis only affects the host and will be synchronized to all clients.\nAmount is per second:\n\nVery Low = 10\nLow = 15\nMedium = 20\nHigh = 30\n\nRecommended to leave at no higher than Medium as the gains are insignificant after.",
|
||||
"F_BepInEx_SmoothingRate_T": "Smoothing Rate",
|
||||
"F_BepInEx_SmoothingRate_D": "Local simulation is behind by (Send Rate * Smoothing Rate). This guarantees that we always have enough snapshots in the buffer to mitigate lags & jitter during interpolation.\n\nLow = 1.5\nMedium = 2\nHigh = 2.5\n\nSet this to 'High' if movement isn't smooth. Cannot be changed during a raid.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Disable Bot Metabolism",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Disables metabolism on bots, preventing them from dying from loss of energy/hydration during long raids.",
|
||||
"F_MMUI_OnlinePlayers": "ONLINE PLAYERS: {0}",
|
||||
"F_MMUI_InMenu": "In Menu",
|
||||
"F_MMUI_InRaid": "In Raid",
|
||||
"F_MMUI_InStash": "In Stash",
|
||||
"F_MMUI_InHideout": "In Hideout",
|
||||
"F_MMUI_InFlea": "In Flea",
|
||||
"F_MMUI_RaidDetails": "Playing as a {0} on {1}\nTime: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
{
|
||||
"Attention! This is a Beta version of Escape from Tarkov for testing purposes.": "SPT için OFFLINE Coop Modu olan Fika'ya hoş geldiniz.",
|
||||
"NDA free warning": "Bir oyuna host/join için bir harita seçmeli ve Sunucu Tarayıcısını kullanmak için son ekrana gitmelisiniz.",
|
||||
"F_Client_ReceivedSharedQuestProgress": "{1} görevi için {0}'dan paylaşılan görev ilerlemesi alındı",
|
||||
"F_Client_ReceivedSharedItemPickup": "{0} {1}'i aldı",
|
||||
"F_Client_ReceivedSharedItemPlant": "{0}, {1} için bir öğe yerleştirdi",
|
||||
"F_Client_ReceivePing": "{0}'dan bir ping alındı",
|
||||
"F_Client_ReceivePingObject": "{0} {1}'e ping attı",
|
||||
"F_Client_RandomSpawnPoints": "Rastgele doğma noktaları kullan",
|
||||
"F_Client_MetabolismDisabled": "Metabolizma devre dışı",
|
||||
"F_Client_YouAreMIA": "Sen ortadan kayboldun...",
|
||||
"F_Client_KilledBoss": "{0} patronu öldürdü {1}",
|
||||
"F_Client_GroupMemberSpawned": "Grup üyesi {0} ortaya çıktı",
|
||||
"F_Client_GroupMemberExtracted": "Grup üyesi {0} çıkış yaptı",
|
||||
"F_Client_GroupMemberDiedFrom": "Grup üyesi {0}, {1} nedeniyle öldü",
|
||||
"F_Client_GroupMemberDied": "Grup üyesi {0} öldü",
|
||||
"F_Client_ConnectedToServer": "{0} numaralı bağlantı noktasından sunucuya bağlanıldı",
|
||||
"F_Client_ServerStarted": "Sunucu {0} bağlantı noktasında başlatıldı",
|
||||
"F_Client_CouldNotFindValidIP": "Geçerli bir yerel IP bulunamadı!",
|
||||
"F_Client_ReconnectRequested": "Yeniden bağlanma talep edildi, lag girebilir...",
|
||||
"F_Client_PeerConnected": "Eş {0} numaralı bağlantı noktasından sunucuya bağlandı",
|
||||
"F_Client_PeerDisconnected": "Eşin bağlantısı kesildi {0}, bilgi: {1}",
|
||||
"F_Client_ConnectingToSession": "Oturuma bağlanılıyor...",
|
||||
"F_Client_ItemIsBlacklisted": "{0} gönderilmek üzere kara listeye alındı",
|
||||
"F_Client_ItemsContainsBlacklisted": "{0} gönderilmek üzere kara listeye alınmış {1} içerir",
|
||||
"F_Client_SavedProfile": "Profil {0}'dan {1}'e kaydedildi",
|
||||
"F_Client_UnknownError": "Bilinmeyen bir istisna oldu, günlük dosyanızı kontrol edin",
|
||||
"F_Client_HostCannotExtract": "Tüm istemcilerin bağlantısı kesilene kadar oyundan çıkamazsınız",
|
||||
"F_Client_HostCannotExtractMenu": "Hala bağlı olan eşler varken bağlantıyı kesemezsiniz! Kalan: {0}",
|
||||
"F_Client_Wait5Seconds": "Lütfen çıkmadan önce son eşin bağlantısı kesildikten sonra en az 5 saniye bekleyin",
|
||||
"F_Client_StartingRaid": "Baskın başlıyor, lütfen bekleyin...",
|
||||
"F_Client_LostConnection": "Ana bilgisayarla bağlantı kesildi",
|
||||
"F_Client_StartingRaidOnDedicated": "Özel istemcide baskın başlatılıyor... lütfen bekleyin",
|
||||
"F_SendItem_Header": "BIR OYUNCU SEÇİN",
|
||||
"F_SendItem_SendButton": "GÖNDER",
|
||||
"F_MMUI_RaidsHeader": "BASKINLAR",
|
||||
"F_MMUI_HostRaidButton": "BASKIN OLUŞTUR",
|
||||
"F_MMUI_JoinButton": "KATIL",
|
||||
"F_MMUI_SelectAmountHeader": "MİKTAR SEÇİNİZ",
|
||||
"F_MMUI_SessionSettingsHeader": "SESSION SETTINGS",
|
||||
"F_MMUI_SelectAmountDescription": "Kaç kişi (siz dahil) oynayacak?",
|
||||
"F_MMUI_UseDedicatedHost": "Özel Host Kullanın",
|
||||
"F_MMUI_StartButton": "BAŞLAT",
|
||||
"F_MMUI_LoadingScreenHeader": "YÜKLENİYOR",
|
||||
"F_MMUI_LoadingScreenDescription": "Baskın başlatılırken lütfen bekleyin... bu biraz zaman alabilir.",
|
||||
"F_MMUI_JoinAsSpectator": "Join as spectator",
|
||||
"F_UI_StartRaid": "Start Raid",
|
||||
"F_UI_StartRaidDescription": "Starts the raid\nNew players will not be able to join",
|
||||
"F_UI_CannotJoinRaidOtherMap": "Başka bir haritada olan bir baskına katılamazsınız.\nBaskın haritası: {0}",
|
||||
"F_UI_CannotJoinRaidOtherTime": "Başka bir zamanda olan bir baskına katılamazsınız.",
|
||||
"F_UI_CannotJoinRaidScavAsPMC": "PMC olarak bir SCAV baskınına katılamazsınız.",
|
||||
"F_UI_CannotJoinRaidPMCAsScav": "Bir PMC baskınına SCAV olarak katılamazsınız.",
|
||||
"F_UI_HostStillLoading": "Ana bilgisayar hala yükleniyor.",
|
||||
"F_UI_RaidInProgress": "Baskın çoktan başladı.",
|
||||
"F_UI_ReJoinRaid": "Baskına yeniden katılmak için tıklayın.",
|
||||
"F_UI_CannotReJoinRaidDied": "Öldüğünüz bir baskına tekrar katılamazsınız.",
|
||||
"F_UI_JoinRaid": "Baskına katılmak için tıklayın.",
|
||||
"F_UI_ErrorConnecting": "BAĞLANTI HATASI",
|
||||
"F_UI_UnableToConnect": "Sunucuya bağlanılamıyor. Tüm bağlantı noktalarının açık olduğundan ve tüm ayarların doğru yapılandırıldığından emin olun.",
|
||||
"F_UI_FikaPingerFailStart": "FikaPinger başlatılamadı!",
|
||||
"F_UI_RefreshRaids": "Aktif baskınların listesini yenileyin.",
|
||||
"F_UI_DedicatedError": "FIKA ÖZEL HATA",
|
||||
"F_UI_ErrorForceIPHeader": "IP'YI ZORLAMA HATASI",
|
||||
"F_UI_ErrorForceIP": "'{0}' bağlanmak için geçerli bir IP adresi değil! 'IP'yi zorla' ayarınızı kontrol edin.",
|
||||
"F_UI_ErrorBindIPHeader": "HATA BAĞLANTISI",
|
||||
"F_UI_ErrorBindIP": "'{0}' bağlanmak için geçerli bir IP adresi değil! 'IP'yi Bağlamaya Zorla' ayarınızı kontrol edin.",
|
||||
"F_UI_NoDedicatedClients": "Özel istemci bulunmamaktadır.",
|
||||
"F_UI_WaitForHostStartRaid": "Waiting for host to start the raid...",
|
||||
"F_UI_WaitForHostFinishInit": "Ana bilgisayarın raid başlatmayı bitirmesi bekleniyor...",
|
||||
"F_UI_WaitForOtherPlayers": "Diğer oyuncuların yüklemeyi bitirmesini bekleniliyor...",
|
||||
"F_UI_RetrieveSpawnInfo": "Sunucudan spawn bilgisi alınıyor...",
|
||||
"F_UI_RetrieveLoot": "Sunucudan ganimet alınıyor...",
|
||||
"F_UI_WaitForHostInit": "Ana bilgisayarın raid'i başlatması bekleniyor...",
|
||||
"F_UI_Reconnecting": "Yeniden bağlanıyor...",
|
||||
"F_UI_RetrieveExfilData": "Sunucudan sızıntı verilerini alınıyor...",
|
||||
"F_UI_RetrieveInteractables": "Sunucudan etkileşimli nesneleri alma...",
|
||||
"F_UI_InitCoopGame": "Coop Oyunu Başlatılıyor...",
|
||||
"F_UI_AllPlayersJoined": "Tüm oyuncular katıldı, oyun başlıyor...",
|
||||
"F_UI_WaitingForConnect": "İstemcinin sunucuya bağlanması bekleniyor... Herhangi bir bildirim yoksa başarısız oldu.",
|
||||
"F_UI_ErrorConnectingToRaid": "Raid sunucusuna bağlanılamıyor. Bağlantı noktalarının yönlendirildiğinden ve/veya UPnP'nin etkinleştirildiğinden ve desteklendiğinden emin olun.",
|
||||
"F_UI_FinishingRaidInit": "Raid başlatma işlemi tamamlanıyor...",
|
||||
"F_UI_SyncThrowables": "Atılabilirler senkronize ediliyor...",
|
||||
"F_UI_SyncInteractables": "Etkileşimli öğeleri senkronize ediliyor...",
|
||||
"F_UI_SyncLampStates": "Lamba durumları senkronize ediliyor...",
|
||||
"F_UI_SyncWindows": "Pencereler senkronize ediliyor...",
|
||||
"F_UI_ReceiveOwnPlayer": "Kendi oyuncusunu alıyor...",
|
||||
"F_UI_FinishReconnect": "Yeniden bağlantı tamamlanıyor...",
|
||||
"F_Client_FreeCamInputDisabled": "Serbest kamera kapalı",
|
||||
"F_Client_FreeCamInputEnabled": "Serbest kamera açık",
|
||||
"F_UI_WaitForPlayer": "{0} oyuncuyu bekleniliyor",
|
||||
"F_UI_WaitForPlayers": "{0} oyuncuyu bekleniliyor",
|
||||
"F_UI_ToSLong": "Fika'ya hoş geldiniz!\n\nFika, SPT için arkadaşlarınızla oynamanıza izin veren bir co-op modudur. Fika her zaman ücretsizdir ve öyle kalacaktır, eğer para ödediyseniz dolandırılmışsınızdır. Ayrıca para kazanma veya bağışlarla halka açık sunucular barındırmanıza izin verilmez.\n\nHizmet Şartlarımızı kabul etmek için bu mesajın kapanmasını bekleyin.\n\nDiscord'umuza buradan katılabilirsiniz: https://discord.gg/project-fika",
|
||||
"F_UI_ToSShort": "Fika'ya hoş geldiniz!\n\nFika, SPT için arkadaşlarınızla oynamanıza izin veren bir co-op modudur. Fika her zaman ücretsizdir ve öyle kalacaktır, eğer para ödediyseniz dolandırılmışsınızdır. Ayrıca para kazanma veya bağışlarla halka açık sunucular barındırmanıza izin verilmez.\n\nDiscord'umuza buradan katılabilirsiniz: https://discord.gg/project-fika",
|
||||
"F_UI_RaidSettingsDescription": "Bu modda, başkalarıyla karşılaşma riski olmadan arkadaşlarınızla çevrimiçi co-op oynayabilirsiniz.\nCo-op modundaki tüm oyun mekanikleri (hava durumu, botlar, bosslar, vb.) çevrimiçi mekaniklerle aynıdır.\nYalnızca ana bilgisayar ayarları etkili olacaktır.",
|
||||
"F_UI_CoopGameMode": "Fika Co-op Oyun Modu",
|
||||
"F_UI_CoopRaidSettings": "Fika Co-op Baskın Ayarları",
|
||||
"F_UI_FikaAlwaysCoop": "Co-op Fika'da her zaman etkindir",
|
||||
"F_UI_UpnpFailed": "UPnP eşlemesi başarısız oldu. Seçilen bağlantı noktasının zaten açık olmadığından emin olun!\nVPN kullanıyorsanız UPnP'yi devre dışı bırakın.",
|
||||
"F_UI_InitWeather": "Hava durumu oluşturuluyor...",
|
||||
"F_Notification_RaidStarted": "{0}, {1}'e bir baskın başlattı",
|
||||
"F_Notification_ItemReceived": "{1}'den bir {0} aldınız",
|
||||
"F_Notification_RaidSettingsDisabled": "Baskın Ayarlarının düzenlenmesi sunucu ana bilgisayarı tarafından devre dışı bırakılır",
|
||||
"F_UI_ExtractMessage": "Çıkarmak için {0} tuşuna basın",
|
||||
"F_UI_DownloadProfile": "DOWNLOAD PROFILE",
|
||||
"F_BepInEx_H_Advanced": "Gelişmiş",
|
||||
"F_BepInEx_H_Coop": "Coop",
|
||||
"F_BepInEx_H_Coop_NamePlates": "Coop | İsim Plakaları",
|
||||
"F_BepInEx_H_Coop_QuestSharing": "Coop | Görev Paylaşımı",
|
||||
"F_BepInEx_H_Coop_Pinging": "Coop | Pingleme",
|
||||
"F_BepInEx_H_Coop_Debug": "Coop | Hata Ayıklama",
|
||||
"F_BepInEx_H_Performance": "Performans",
|
||||
"F_BepInEx_H_PerformanceBots": "Performans | Maksimum Bot",
|
||||
"F_BepInEx_H_Network": "Ağ",
|
||||
"F_BepInEx_H_Gameplay": "Oynanış",
|
||||
"F_BepInEx_OfficialVersion_T": "Resmi Versiyon",
|
||||
"F_BepInEx_OfficialVersion_D": "Fika versiyonu yerine resmi versiyonu gösterin.",
|
||||
"F_BepInEx_ShowFeed_T": "Beslemeyi Göster",
|
||||
"F_BepInEx_ShowFeed_D": "Bir oyuncu öldüğünde, çıkarıldığında, bir boss öldürdüğünde vb. özel bildirimleri etkinleştirin.",
|
||||
"F_BepInEx_AutoExtract_T": "Otomatik Exfill",
|
||||
"F_BepInEx_AutoExtract_D": "Exfill geri sayımından sonra otomatik olarak çıkarır. Bir ana bilgisayar olarak, bu yalnızca bağlı hiçbir istemci yoksa çalışacaktır.",
|
||||
"F_BepInEx_ShowExtractMessage_T": "Ayıklama Mesajını Göster",
|
||||
"F_BepInEx_ShowExtractMessage_D": "Boyama/özütleme işleminden sonra özüt mesajının gösterilip gösterilmeyeceği.",
|
||||
"F_BepInEx_ExtractKey_T": "Exfill tuşu",
|
||||
"F_BepInEx_ExtractKey_D": "Baskından çıkarmak için kullanılan tuş.",
|
||||
"F_BepInEx_EnableChat_T": "Sohbeti Etkinleştir",
|
||||
"F_BepInEx_EnableChat_D": "Oyun içinde sohbeti etkinleştirmek için geçiş yapın. Baskın ortasında değiştirilemez.",
|
||||
"F_BepInEx_ChatKey_T": "Sohbet Tuşu",
|
||||
"F_BepInEx_ChatKey_D": "Sohbet penceresini açmak için kullanılan tuş.",
|
||||
"F_BepInEx_EnableOnlinePlayers_T": "Çevrimiçi Oyuncuları Etkinleştirin",
|
||||
"F_BepInEx_EnableOnlinePlayers_D": "Çevrimiçi oyuncular menüsü menüde gösterilecekse.",
|
||||
"F_BepInEx_OnlinePlayersScale_T": "Çevrimiçi Oyuncular Ölçeği",
|
||||
"F_BepInEx_OnlinePlayersScale_D": "Çevrimiçi oyuncuları gösteren pencerenin ölçeği. Sadece orantısız görünüyorsa değiştirin.\n\nEtkili olması için ana menünün yenilenmesi gerekir.",
|
||||
"F_BepInEx_UseNamePlates_T": "Oyuncu İsim Plakalarını Göster",
|
||||
"F_BepInEx_UseNamePlates_D": "İsim plakalarının takım arkadaşlarının üzerinde gösterilmesi gerekiyorsa.",
|
||||
"F_BepInEx_HideHealthBar_T": "Sağlık Çubuğunu Gizle",
|
||||
"F_BepInEx_HideHealthBar_D": "Sağlık çubuğunu tamamen gizler.",
|
||||
"F_BepInEx_UsePercent_T": "Çubuk yerine HP% göster",
|
||||
"F_BepInEx_UsePercent_D": "Sağlığı çubuk yerine % olarak gösterir.",
|
||||
"F_BepInEx_ShowEffects_T": "Efektleri Göster",
|
||||
"F_BepInEx_ShowEffects_D": "Durum efektlerinin sağlık çubuğunun altında görüntülenip görüntülenmeyeceği.",
|
||||
"F_BepInEx_ShowFactionIcon_T": "Oyuncu Fraksiyonu Simgesini Göster",
|
||||
"F_BepInEx_ShowFactionIcon_D": "HP çubuğunun yanında oyuncu fraksiyonu simgesini gösterir.",
|
||||
"F_BepInEx_HideInOptic_T": "Optikte İsim Plakasını Gizle",
|
||||
"F_BepInEx_HideInOptic_D": "PiP kapsamları aracılığıyla görüntülerken isim plakasını gizler.",
|
||||
"F_BepInEx_OpticUseZoom_T": "İsim Plakaları Optik Zoom Kullanır",
|
||||
"F_BepInEx_OpticUseZoom_D": "İsim plakası konumunun PiP optik kamera kullanılarak görüntülenmesi gerekiyorsa.",
|
||||
"F_BepInEx_DecOpacPeri_T": "Periferik Bölgedeki Opasiteyi Azaltın",
|
||||
"F_BepInEx_DecOpacPeri_D": "Bir oyuncuya bakılmadığında isim plakalarının opaklığını azaltır.",
|
||||
"F_BepInEx_NamePlateScale_T": "İsim Plakası Ölçeği",
|
||||
"F_BepInEx_NamePlateScale_D": "İsim plakalarının boyutu.",
|
||||
"F_BepInEx_AdsOpac_T": "ADS'de Opaklık",
|
||||
"F_BepInEx_AdsOpac_D": "Aşağı nişan alırken isim plakalarının opaklığı.",
|
||||
"F_BepInEx_MaxDistance_T": "Gösterilecek Maksimum Mesafe",
|
||||
"F_BepInEx_MaxDistance_D": "İsim plakalarının görünmez olacağı maksimum mesafe, giriş değerinin yarısında solmaya başlar.",
|
||||
"F_BepInEx_MinOpac_T": "Minimum Opaklık",
|
||||
"F_BepInEx_MinOpac_D": "İsim plakalarının minimum opaklığı.",
|
||||
"F_BepInEx_MinPlateScale_T": "Minimum İsim Plakası Ölçeği",
|
||||
"F_BepInEx_MinPlateScale_D": "İsim plakalarının minimum ölçeği.",
|
||||
"F_BepInEx_UseOcclusion_T": "Oklüzyon Kullanın",
|
||||
"F_BepInEx_UseOcclusion_D": "Oyuncu görüş alanının dışındayken isim plakasını gizlemek için oklüzyon kullanın.",
|
||||
"F_BepInEx_QuestTypes_T": "Görev Tipleri",
|
||||
"F_BepInEx_QuestTypes_D": "Hangi görev türlerinin alınacağı ve gönderileceği. PlaceBeacon hem işaretleyiciler hem de öğelerdir.",
|
||||
"F_BepInEx_QSNotifications_T": "Bildirimleri Göster",
|
||||
"F_BepInEx_QSNotifications_D": "Görev ilerlemesi dışarı ile paylaşıldığında bir bildirim gösterilecekse.",
|
||||
"F_BepInEx_EasyKillConditions_T": "Kolay Öldürme Koşulları",
|
||||
"F_BepInEx_EasyKillConditions_D": "Kolay öldürme koşullarını etkinleştirir. Bu kullanıldığında, dost bir oyuncu bir şeyi öldürdüğünde, tüm koşullar yerine getirildiği sürece görevleriniz için onu siz öldürmüşsünüz gibi davranır.\nBu tutarsız olabilir ve her zaman çalışmaz.",
|
||||
"F_BepInEx_SharedKillXP_T": "Paylaşılan Öldürme Deneyimi",
|
||||
"F_BepInEx_SharedKillXP_D": "Etkinleştirilirse, dost bir oyuncu bir düşmanı öldürdüğünde (bosslar değil) deneyimin ½'sini alırsınız.",
|
||||
"F_BepInEx_SharedBossXP_T": "Paylaşılan Boss Deneyimi",
|
||||
"F_BepInEx_SharedBossXP_D": "Etkinleştirilirse, dost bir oyuncu bir boss öldürdüğünde deneyimin ½'sini alırsınız.",
|
||||
"F_BepInEx_PingSystem_T": "Ping Sistemi",
|
||||
"F_BepInEx_PingSystem_D": "Ping Sistemini Değiştir. Etkinleştirilirse, ping tuşuna basarak ping alabilir ve gönderebilirsiniz.",
|
||||
"F_BepInEx_PingButton_T": "Ping Düğmesi",
|
||||
"F_BepInEx_PingButton_D": "Ping göndermek için kullanılan düğme.",
|
||||
"F_BepInEx_PingColor_T": "Ping Rengi",
|
||||
"F_BepInEx_PingColor_D": "Diğer oyuncular için görüntülendiğinde pinglerinizin rengi.",
|
||||
"F_BepInEx_PingSize_T": "Ping Boyutu",
|
||||
"F_BepInEx_PingSize_D": "Ping boyutunun çarpanı.",
|
||||
"F_BepInEx_PingTime_T": "Ping Süresi",
|
||||
"F_BepInEx_PingTime_D": "Pinglerin ne kadar süreyle görüntülenmesi gerektiği.",
|
||||
"F_BepInEx_PingAnimation_T": "Ping Animasyonunu Oynat",
|
||||
"F_BepInEx_PingAnimation_D": "Ping atarken işaretleme animasyonunu otomatik olarak oynatır. Oynanışa müdahale edebilir.",
|
||||
"F_BepInEx_PingOptics_T": "Optik Sırasında Ping Göster",
|
||||
"F_BepInEx_PingOptics_D": "Bir optik dürbüne nişan alırken pinglerin görüntülenmesi gerekiyorsa.",
|
||||
"F_BepInEx_PingOpticZoom_T": "Ping Optik Zoom Kullanın",
|
||||
"F_BepInEx_PingOpticZoom_D": "PiP optik kamera kullanılarak ping konumu görüntülenecekse.",
|
||||
"F_BepInEx_PingScaleDistance_T": "Mesafe ile Ping Ölçeği",
|
||||
"F_BepInEx_PingScaleDistance_D": "Ping boyutu oyuncudan uzaklığa göre ölçeklendirilecekse.",
|
||||
"F_BepInEx_PingMinOpac_T": "Ping Minimum Opaklık",
|
||||
"F_BepInEx_PingMinOpac_D": "Doğrudan bakıldığında pinglerin minimum opaklığı.",
|
||||
"F_BepInEx_PingRange_T": "Ping Aralığını Göster",
|
||||
"F_BepInEx_PingRange_D": "Etkinleştirilmişse, oyuncuya ping'e kadar olan aralığı gösterir.",
|
||||
"F_BepInEx_PingSound_T": "Ping Sesi",
|
||||
"F_BepInEx_PingSound_D": "Ping sırasında çalınan ses",
|
||||
"F_BepInEx_FreeCamButton_T": "Serbest Kamera Düğmesi",
|
||||
"F_BepInEx_FreeCamButton_D": "Serbest kamerayı açmak için kullanılan düğme.",
|
||||
"F_BepInEx_SpectateBots_T": "İzleyici Botlara İzin Ver",
|
||||
"F_BepInEx_SpectateBots_D": "Tüm oyuncular öldüyse/çıkarıldıysa botları izlemeye izin vermelimiyiz.",
|
||||
"F_BepInEx_AZERTYMode_T": "AZERTY Modu",
|
||||
"F_BepInEx_AZERTYMode_D": "Serbest kamera giriş için AZERTY tuşlarını kullanmalıdır.",
|
||||
"F_BepInEx_DroneMode_T": "Drone Modu",
|
||||
"F_BepInEx_DroneMode_D": "Serbest kameranın bir drone gibi sadece dikey eksen boyunca hareket etmesi gerekiyorsa.",
|
||||
"F_BepInEx_KeybindOverlay_T": "Tuş Yerleşimi",
|
||||
"F_BepInEx_KeybindOverlay_D": "Tüm serbest kamera tuş bağlarını içeren bir kaplama gösterilmelidir.",
|
||||
"F_BepInEx_DynamicAI_T": "Dinamik Yapay Zeka",
|
||||
"F_BepInEx_DynamicAI_D": "Tüm oyuncuların menzili dışında olduklarında yapay zekayı devre dışı bırakan dinamik yapay zeka sistemini kullanın.",
|
||||
"F_BepInEx_DynamicAIRange_T": "Dinamik Yapay Zeka Aralığı",
|
||||
"F_BepInEx_DynamicAIRange_D": "Yapay zekanın dinamik olarak devre dışı bırakılacağı aralık.",
|
||||
"F_BepInEx_DynamicAIRate_T": "Dinamik Yapay Zeka Oranı",
|
||||
"F_BepInEx_DynamicAIRate_D": "DynamicAI'nin tüm oyuncuların menzilini ne sıklıkla taraması gerektiği.",
|
||||
"F_BepInEx_DynamicAINoSnipers_T": "Keskin Nişancıları Görmezden Gel",
|
||||
"F_BepInEx_DynamicAINoSnipers_D": "Dinamik Yapay Zekanın keskin nişancı görmezden gelip gelmeyeceği.",
|
||||
"F_BepInEx_EnforcedSpawnLimits_T": "Zorunlu Spawn Limiti",
|
||||
"F_BepInEx_EnforcedSpawnLimits_D": "Botlar ortaya çıkarken ortaya çıkma sınırlarını zorlar, vanilya sınırlarını aşmadığından emin olur. Bu, esas olarak spawn modları veya bot sınırlarını değiştiren herhangi bir şey kullanıldığında etkili olur. Bosslar gibi özel botların ortaya çıkmasını engellemez.",
|
||||
"F_BepInEx_DespawnFurthest_T": "En Uzakta Despawn",
|
||||
"F_BepInEx_DespawnFurthest_D": "Doğma sınırlarını uygularken, doğmayı engellemek yerine en uzaktaki botun doğması engellenmelidir. Bu, daha düşük bir Maksimum Bot sayısında çok daha aktif bir baskın yapacaktır. Zayıf PC'ler için faydalıdır. Sadece pmc'leri ve çöpleri doğurtacaktır. Dinamik bir doğma modu çalıştırmıyorsanız, bu, haritadaki doğmaları hızla tüketecek ve bunun yerine baskını çok ölü hale getirecektir.",
|
||||
"F_BepInEx_DespawnMinDistance_T": "Despawn Minimum Mesafe",
|
||||
"F_BepInEx_DespawnMinDistance_D": "Bir botu despawn etmek için minimum mesafe.",
|
||||
"F_BepInEx_MaxBots_T": "Maksimum Bot {0}",
|
||||
"F_BepInEx_MaxBots_D": "{0} üzerinde aynı anda aktif olabilecek maksimum bot sayısı. Zayıf bir bilgisayarınız varsa kullanışlıdır. Vanilya limitlerini kullanmak için 0 olarak ayarlayın. Baskın sırasında değiştirilemez.",
|
||||
"F_BepInEx_NativeSockets_T": "Yerel Soketler",
|
||||
"F_BepInEx_NativeSockets_D": "Oyun trafiği için Yerel Soketler kullanın. Bu, hızı büyük ölçüde artırmak ve GC baskısını azaltmak için gönderme/alma için doğrudan soket çağrıları kullanır. Yalnızca Windows/Linux içindir ve her zaman çalışmayabilir.",
|
||||
"F_BepInEx_ForceIP_T": "IP'yi Zorla",
|
||||
"F_BepInEx_ForceIP_D": "Barındırma sırasında sunucuyu, arka uca yayın yaparken otomatik olarak getirmeye çalışmak yerine bu IP'yi kullanmaya zorlar. Devre dışı bırakmak için boş bırakın.",
|
||||
"F_BepInEx_ForceBindIP_T": "IP Bağlamaya Zorla",
|
||||
"F_BepInEx_ForceBindIP_D": "Sunucuyu başlatırken bu yerel bağdaştırıcıyı kullanmak için barındırma sırasında sunucuyu zorlar. Bir VPN üzerinde barındırma yapıyorsanız kullanışlıdır.",
|
||||
"F_BepInEx_UDPPort_T": "UDP Bağlantı Noktası",
|
||||
"F_BepInEx_UDPPort_D": "UDP oyun paketleri için kullanılacak port.",
|
||||
"F_BepInEx_UseUPnP_T": "UPnP kullanın",
|
||||
"F_BepInEx_UseUPnP_D": "UPnP kullanarak bağlantı noktalarını açmaya çalışın. Portları kendiniz açamıyorsanız ancak yönlendirici UPnP'yi destekliyorsa kullanışlıdır.",
|
||||
"F_BepInEx_UseNatPunch_T": "NAT Punching kullanın",
|
||||
"F_BepInEx_UseNatPunch_D": "Bir baskına ev sahipliği yaparken NAT Punching özelliğini kullanın. Sadece fullcone NAT tipi yönlendiricilerle çalışır ve SPT sunucusunda NatPunchServer'ın çalışıyor olmasını gerektirir. UPnP, Force IP ve Force Bind IP bu modda devre dışı bırakılır.",
|
||||
"F_BepInEx_ConnectionTimeout_T": "Bağlantı Zaman Aşımı",
|
||||
"F_BepInEx_ConnectionTimeout_D": "Hiçbir paket alınmadığında bir bağlantının düşmüş sayılması için ne kadar süre geçmesi gerektiği.",
|
||||
"F_BepInEx_SendRate_T": "Oran Gönder",
|
||||
"F_BepInEx_SendRate_D": "Hareket paketlerinin saniye başına ne sıklıkta gönderilmesi gerektiği (daha düşük = daha az bant genişliği kullanılır, enterpolasyon sırasında biraz daha fazla gecikme)\nBu yalnızca ana bilgisayarı etkiler ve tüm istemcilerle senkronize edilir.\nMiktar saniye başına:\n\nÇok Düşük = 10\nDüşük = 15\nOrta = 20\nYüksek = 30\n\nSonrasında kazançlar önemsiz olduğu için Orta'dan daha yüksek bir seviyede bırakılmaması önerilir.",
|
||||
"F_BepInEx_SmoothingRate_T": "Düzeltme Oranı",
|
||||
"F_BepInEx_SmoothingRate_D": "Yerel simülasyon (Gönderme Oranı * Düzeltme Oranı) ile geride kalır. Bu, enterpolasyon sırasında gecikmeleri ve titreşimi azaltmak için tamponda her zaman yeterli anlık görüntüye sahip olduğumuzu garanti eder.\n\nDüşük = 1,5\nOrta = 2\nYüksek = 2,5\n\nHareket düzgün değilse bunu 'Yüksek' olarak ayarlayın. Baskın sırasında değiştirilemez.",
|
||||
"F_BepInEx_DisableBotMetabolism_T": "Bot Metabolizmasını Devre Dışı Bırak",
|
||||
"F_BepInEx_DisableBotMetabolism_D": "Botlarda metabolizmayı devre dışı bırakarak uzun akınlar sırasında enerji/hidrasyon kaybından ölmelerini önler.",
|
||||
"F_MMUI_OnlinePlayers": "ONLINE PLAYERS: {0}",
|
||||
"F_MMUI_InMenu": "In Menu",
|
||||
"F_MMUI_InRaid": "In Raid",
|
||||
"F_MMUI_InStash": "In Stash",
|
||||
"F_MMUI_InHideout": "In Hideout",
|
||||
"F_MMUI_InFlea": "In Flea",
|
||||
"F_MMUI_RaidDetails": "Playing as a {0} on {1}\nTime: {2}",
|
||||
"F_UI_LocaleError_H": "LOCALES ERROR",
|
||||
"F_UI_LocaleError_D": "There were errors when loading the Fika locales. Translation is now using fallbacks for the failed headers. Please report this to the developers!\n\nFailed keys: {0}"
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
|
@ -1 +0,0 @@
|
|||
{}
|
Binary file not shown.
Before Width: | Height: | Size: 724 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.2 MiB |
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
"name": "server",
|
||||
"version": "2.3.6",
|
||||
"sptVersion": "~3.10",
|
||||
"main": "src/mod.js",
|
||||
"scripts": {
|
||||
"setup": "npm i",
|
||||
"lint": "npx @biomejs/biome lint ./",
|
||||
"build": "node ./build.mjs",
|
||||
"buildinfo": "node ./build.mjs --verbose"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "^1.7.1",
|
||||
"@types/node": "~20.11",
|
||||
"@types/ws": "^8.5.10",
|
||||
"archiver": "^6.0",
|
||||
"fs-extra": "~11.2",
|
||||
"ignore": "^5.2",
|
||||
"tsyringe": "4.8.0",
|
||||
"typescript": "5.4",
|
||||
"winston": "3.12"
|
||||
},
|
||||
"author": "Fika",
|
||||
"license": "CC-BY-NC-SA-4.0"
|
||||
}
|
|
@ -1,78 +0,0 @@
|
|||
import path from "node:path";
|
||||
import { DependencyContainer, inject, injectable } from "tsyringe";
|
||||
|
||||
import { ILocaleBase } from "@spt/models/spt/server/ILocaleBase";
|
||||
import { ImageRouter } from "@spt/routers/ImageRouter";
|
||||
import { DatabaseServer } from "@spt/servers/DatabaseServer";
|
||||
import { ImporterUtil } from "@spt/utils/ImporterUtil";
|
||||
|
||||
import { IFikaConfigBackground } from "./models/fika/config/IFikaConfigBackground";
|
||||
import { IFikaConfigDedicated } from "./models/fika/config/IFikaConfigDedicated";
|
||||
import { IFikaConfigNatPunchServer } from "./models/fika/config/IFikaConfigNatPunchServer";
|
||||
import { Overrider } from "./overrides/Overrider";
|
||||
import { FikaPlayerRelationsCacheService } from "./services/cache/FikaPlayerRelationsCacheService";
|
||||
import { FikaDedicatedProfileService } from "./services/dedicated/FikaDedicatedProfileService";
|
||||
import { FikaConfig } from "./utils/FikaConfig";
|
||||
import { FikaServerTools } from "./utils/FikaServerTools";
|
||||
|
||||
@injectable()
|
||||
export class Fika {
|
||||
protected modPath: string;
|
||||
protected natPunchServerConfig: IFikaConfigNatPunchServer;
|
||||
protected dedicatedConfig: IFikaConfigDedicated;
|
||||
protected backgroundConfig: IFikaConfigBackground;
|
||||
|
||||
constructor(
|
||||
@inject("DatabaseServer") protected databaseServer: DatabaseServer,
|
||||
@inject("Overrider") protected overrider: Overrider,
|
||||
@inject("FikaServerTools") protected fikaServerTools: FikaServerTools,
|
||||
@inject("FikaConfig") protected fikaConfig: FikaConfig,
|
||||
@inject("FikaDedicatedProfileService") protected fikaDedicatedProfileService: FikaDedicatedProfileService,
|
||||
@inject("ImageRouter") protected imageRouter: ImageRouter,
|
||||
@inject("ImporterUtil") protected importerUtil: ImporterUtil,
|
||||
@inject("FikaPlayerRelationsCacheService") protected fikaPlayerRelationCacheServce: FikaPlayerRelationsCacheService
|
||||
) {
|
||||
this.modPath = fikaConfig.getModPath();
|
||||
this.natPunchServerConfig = fikaConfig.getConfig().natPunchServer;
|
||||
this.dedicatedConfig = fikaConfig.getConfig().dedicated;
|
||||
this.backgroundConfig = fikaConfig.getConfig().background;
|
||||
}
|
||||
|
||||
public async preSptLoad(container: DependencyContainer): Promise<void> {
|
||||
await this.overrider.override(container);
|
||||
}
|
||||
|
||||
public async postSptLoad(_container: DependencyContainer): Promise<void> {
|
||||
if (this.natPunchServerConfig.enable) {
|
||||
this.fikaServerTools.startService("NatPunchServer");
|
||||
}
|
||||
|
||||
if (this.dedicatedConfig.profiles.amount > 0) {
|
||||
this.fikaDedicatedProfileService.init();
|
||||
}
|
||||
|
||||
this.addFikaClientLocales();
|
||||
this.fikaPlayerRelationCacheServce.postInit();
|
||||
|
||||
if (this.backgroundConfig.enable) {
|
||||
const image = this.backgroundConfig.easteregg ? "assets/images/launcher/bg-senko.png" : "assets/images/launcher/bg.png";
|
||||
this.imageRouter.addRoute("/files/launcher/bg", path.join(this.modPath, image));
|
||||
}
|
||||
}
|
||||
|
||||
private async addFikaClientLocales() {
|
||||
const database = this.databaseServer.getTables();
|
||||
const databasePath = path.join(this.fikaConfig.getModPath(), "assets/database/");
|
||||
|
||||
const locales = await this.importerUtil.loadAsync<ILocaleBase>(path.join(databasePath, "locales/"), databasePath);
|
||||
|
||||
for (const folderName in locales) {
|
||||
if (folderName === "global") {
|
||||
for (const localeKey in locales.global) {
|
||||
const localeData = locales.global[localeKey];
|
||||
database.locales.global[localeKey] = { ...database.locales.global[localeKey], ...localeData };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
|
||||
import { FikaClientController } from "../controllers/FikaClientController";
|
||||
import { IFikaCheckModRequestData } from "../models/fika/routes/client/check/IFikaCheckModRequestData";
|
||||
import { IFikaRaidServerIdRequestData } from "../models/fika/routes/raid/IFikaRaidServerIdRequestData";
|
||||
|
||||
@injectable()
|
||||
export class FikaClientCallbacks {
|
||||
constructor(
|
||||
@inject("HttpResponseUtil") protected httpResponseUtil: HttpResponseUtil,
|
||||
@inject("FikaClientController") protected fikaClientController: FikaClientController,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
/** Handle /fika/client/config */
|
||||
public handleClientConfig(_url: string, _info: IFikaRaidServerIdRequestData, _sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaClientController.handleClientConfig());
|
||||
}
|
||||
|
||||
/** Handle /fika/client/config */
|
||||
public handleNatPunchServerConfig(_url: string, _info: IFikaRaidServerIdRequestData, _sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaClientController.handleNatPunchServerConfig());
|
||||
}
|
||||
|
||||
/** Handle /fika/client/check/mods */
|
||||
public handleCheckMods(_url: string, info: IFikaCheckModRequestData, _sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaClientController.handleCheckMods(info));
|
||||
}
|
||||
|
||||
/** Handle /fika/profile/download */
|
||||
public handleProfileDownload(_url: string, _info: any, sessionID: string): any {
|
||||
return this.httpResponseUtil.noBody(this.fikaClientController.handleProfileDownload(sessionID));
|
||||
}
|
||||
|
||||
/** Handle /fika/client/check/version */
|
||||
public handleVersionCheck(_url: string, _info: any, _sessionID: string): any {
|
||||
return this.httpResponseUtil.noBody(this.fikaClientController.handleVersionCheck());
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
|
||||
import { FikaLocationController } from "../controllers/FikaLocationController";
|
||||
|
||||
@injectable()
|
||||
export class FikaLocationCallbacks {
|
||||
constructor(
|
||||
@inject("HttpResponseUtil") protected httpResponseUtil: HttpResponseUtil,
|
||||
@inject("FikaLocationController") protected fikaLocationController: FikaLocationController,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
/** Handle /fika/location/raids */
|
||||
public handleGetRaids(_url: string, info: IGetRaidConfigurationRequestData, _sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaLocationController.handleGetRaids(info));
|
||||
}
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
|
||||
import { IPushNotification } from "../models/fika/websocket/notifications/IPushNotification";
|
||||
import { FikaNotificationWebSocket } from "../websockets/FikaNotificationWebSocket";
|
||||
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
|
||||
import { EFikaNotifications } from "../models/enums/EFikaNotifications";
|
||||
import { EEFTNotificationIconType } from "../models/enums/EEFTNotificationIconType";
|
||||
|
||||
@injectable()
|
||||
export class FikaNotificationCallbacks {
|
||||
constructor(
|
||||
@inject("HttpResponseUtil") protected httpResponseUtil: HttpResponseUtil,
|
||||
@inject("FikaNotificationWebSocket") protected fikaNotificationWebSocket: FikaNotificationWebSocket,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
/** Handle /fika/notification/push */
|
||||
public handlePushNotification(_url: string, info: IPushNotification, _sessionID: string): INullResponseData {
|
||||
// Yes, technically this needs a controller to fit into this format. But I cant be bothered setting up a whole controller for a few checks.
|
||||
if (!info.notification) {
|
||||
return this.httpResponseUtil.nullResponse();
|
||||
}
|
||||
|
||||
info.type = EFikaNotifications.PushNotification;
|
||||
|
||||
// Set default notification icon if data for this has not been correctly given.
|
||||
if (!info.notificationIcon || typeof info.notificationIcon != "number") {
|
||||
info.notificationIcon = EEFTNotificationIconType.Default;
|
||||
}
|
||||
|
||||
//Do some exception handling for the client, icon 6 seems to cause an exception as well as going out of the enum's bounds.
|
||||
if (info.notificationIcon == 6 || info.notificationIcon > 14) {
|
||||
info.notificationIcon = EEFTNotificationIconType.Default;
|
||||
}
|
||||
|
||||
this.fikaNotificationWebSocket.broadcast(info);
|
||||
|
||||
return this.httpResponseUtil.nullResponse();
|
||||
}
|
||||
}
|
|
@ -1,50 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
|
||||
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
|
||||
import { EFikaPlayerPresences } from "../models/enums/EFikaPlayerPresences";
|
||||
import { IFikaPlayerPresence } from "../models/fika/presence/IFikaPlayerPresence";
|
||||
import { IFikaSetPresence } from "../models/fika/presence/IFikaSetPresence";
|
||||
import { FikaPresenceService } from "../services/FikaPresenceService";
|
||||
|
||||
@injectable()
|
||||
export class FikaPresenceCallbacks {
|
||||
constructor(
|
||||
@inject("HttpResponseUtil") protected httpResponseUtil: HttpResponseUtil,
|
||||
@inject("FikaPresenceService") protected fikaPresenceService: FikaPresenceService,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
/** Handle /fika/presence/get */
|
||||
public handleGetPresence(_url: string, _info: any, _sessionID: string): IFikaPlayerPresence {
|
||||
return this.httpResponseUtil.noBody(this.fikaPresenceService.getAllPlayersPresence());
|
||||
}
|
||||
|
||||
/** Handle /fika/presence/set */
|
||||
public handleSetPresence(_url: string, data: IFikaSetPresence, sessionID: string): INullResponseData {
|
||||
data.activity = this.setActivityValue(data.activity);
|
||||
|
||||
this.fikaPresenceService.updatePlayerPresence(sessionID, data);
|
||||
|
||||
return this.httpResponseUtil.nullResponse();
|
||||
}
|
||||
|
||||
/** Handle /fika/presence/setget */
|
||||
public handleSetGetPresence(_url: string, data: IFikaSetPresence, sessionID: string): IFikaPlayerPresence {
|
||||
data.activity = this.setActivityValue(data.activity);
|
||||
|
||||
this.fikaPresenceService.updatePlayerPresence(sessionID, data);
|
||||
|
||||
return this.httpResponseUtil.noBody(this.fikaPresenceService.getAllPlayersPresence());
|
||||
}
|
||||
|
||||
protected setActivityValue(presence: EFikaPlayerPresences): EFikaPlayerPresences {
|
||||
if (Object.keys(EFikaPlayerPresences).includes(presence.toString())) {
|
||||
presence = EFikaPlayerPresences[presence.toString()];
|
||||
}
|
||||
|
||||
return presence;
|
||||
}
|
||||
}
|
|
@ -1,72 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
|
||||
import { IRegisterPlayerRequestData } from "@spt/models/eft/inRaid/IRegisterPlayerRequestData";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
|
||||
import { FikaRaidController } from "../controllers/FikaRaidController";
|
||||
import { IFikaRaidServerIdRequestData } from "../models/fika/routes/raid/IFikaRaidServerIdRequestData";
|
||||
import { IFikaRaidCreateRequestData } from "../models/fika/routes/raid/create/IFikaRaidCreateRequestData";
|
||||
import { IStartDedicatedRequest } from "../models/fika/routes/raid/dedicated/IStartDedicatedRequest";
|
||||
import { IStatusDedicatedRequest } from "../models/fika/routes/raid/dedicated/IStatusDedicatedRequest";
|
||||
import { IFikaRaidJoinRequestData } from "../models/fika/routes/raid/join/IFikaRaidJoinRequestData";
|
||||
import { IFikaRaidLeaveRequestData } from "../models/fika/routes/raid/leave/IFikaRaidLeaveRequestData";
|
||||
|
||||
@injectable()
|
||||
export class FikaRaidCallbacks {
|
||||
constructor(
|
||||
@inject("HttpResponseUtil") protected httpResponseUtil: HttpResponseUtil,
|
||||
@inject("FikaRaidController") protected fikaRaidController: FikaRaidController,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/create */
|
||||
public handleRaidCreate(_url: string, info: IFikaRaidCreateRequestData, _sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaRaidController.handleRaidCreate(info));
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/join */
|
||||
public handleRaidJoin(_url: string, info: IFikaRaidJoinRequestData, _sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaRaidController.handleRaidJoin(info));
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/leave */
|
||||
public handleRaidLeave(_url: string, info: IFikaRaidLeaveRequestData, _sessionID: string): INullResponseData {
|
||||
this.fikaRaidController.handleRaidLeave(info);
|
||||
|
||||
return this.httpResponseUtil.nullResponse();
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/gethost */
|
||||
public handleRaidGetHost(_url: string, info: IFikaRaidServerIdRequestData, _sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaRaidController.handleRaidGetHost(info));
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/getsettings */
|
||||
public handleRaidGetSettings(_url: string, info: IFikaRaidServerIdRequestData, _sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaRaidController.handleRaidGetSettings(info));
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/dedicated/start */
|
||||
public handleRaidStartDedicated(_url: string, info: IStartDedicatedRequest, sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaRaidController.handleRaidStartDedicated(sessionID, info));
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/dedicated/status */
|
||||
public handleRaidStatusDedicated(_url: string, info: IStatusDedicatedRequest, sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaRaidController.handleRaidStatusDedicated(sessionID, info));
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/dedicated/getstatus */
|
||||
public handleRaidGetStatusDedicated(_url: string, _info: any, _sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaRaidController.handleRaidGetStatusDedicated());
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/dedicated/registerPlayer */
|
||||
public handleRaidRegisterPlayer(_url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData {
|
||||
this.fikaRaidController.handleRaidRegisterPlayer(sessionID, info);
|
||||
|
||||
return this.httpResponseUtil.nullResponse();
|
||||
}
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
|
||||
import { FikaSendItemController } from "../controllers/FikaSendItemController";
|
||||
import { IFikaSendItemRequestData } from "../models/fika/routes/senditem/IFikaSendItemRequestData";
|
||||
import { IFikaSenditemAvailablereceiversRequestData } from "../models/fika/routes/senditem/availablereceivers/IFikaSenditemAvailablereceiversRequestData";
|
||||
|
||||
@injectable()
|
||||
export class FikaSendItemCallbacks {
|
||||
constructor(
|
||||
@inject("HttpResponseUtil") protected httpResponseUtil: HttpResponseUtil,
|
||||
@inject("FikaSendItemController") protected fikaSendItemController: FikaSendItemController,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
public handleSendItem(pmcData: IPmcData, body: IFikaSendItemRequestData, sessionID: string): IItemEventRouterResponse {
|
||||
return this.fikaSendItemController.sendItem(pmcData, body, sessionID);
|
||||
}
|
||||
|
||||
/** Handle /fika/senditem/availablereceivers */
|
||||
public handleAvailableReceivers(_url: string, _info: IFikaSenditemAvailablereceiversRequestData, sessionID: string): string {
|
||||
return this.httpResponseUtil.noBody(this.fikaSendItemController.handleAvailableReceivers(sessionID));
|
||||
}
|
||||
}
|
|
@ -1,63 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
|
||||
import { FikaUpdateController } from "../controllers/FikaUpdateController";
|
||||
import { IFikaUpdateRaidAddPlayerData } from "../models/fika/routes/raid/join/IFikaRaidAddPlayerData";
|
||||
import { IFikaUpdatePingRequestData } from "../models/fika/routes/update/IFikaUpdatePingRequestData";
|
||||
import { IFikaUpdatePlayerspawnRequestData } from "../models/fika/routes/update/IFikaUpdatePlayerspawnRequestData";
|
||||
import { IFikaUpdateSetStatusRequestData } from "../models/fika/routes/update/IFikaUpdateSetStatusRequestData";
|
||||
import { IFikaUpdateSethostRequestData } from "../models/fika/routes/update/IFikaUpdateSethostRequestData";
|
||||
|
||||
@injectable()
|
||||
export class FikaUpdateCallbacks {
|
||||
constructor(
|
||||
@inject("HttpResponseUtil") protected httpResponseUtil: HttpResponseUtil,
|
||||
@inject("FikaUpdateController") protected fikaUpdateController: FikaUpdateController,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
/** Handle /fika/update/ping */
|
||||
public handlePing(_url: string, info: IFikaUpdatePingRequestData, _sessionID: string): INullResponseData {
|
||||
this.fikaUpdateController.handlePing(info);
|
||||
|
||||
return this.httpResponseUtil.nullResponse();
|
||||
}
|
||||
|
||||
/** Handle /fika/update/playerspawn */
|
||||
public handlePlayerspawn(_url: string, info: IFikaUpdatePlayerspawnRequestData, _sessionID: string): INullResponseData {
|
||||
this.fikaUpdateController.handlePlayerspawn(info);
|
||||
|
||||
return this.httpResponseUtil.nullResponse();
|
||||
}
|
||||
|
||||
/** Handle /fika/update/sethost */
|
||||
public handleSethost(_url: string, info: IFikaUpdateSethostRequestData, _sessionID: string): INullResponseData {
|
||||
this.fikaUpdateController.handleSethost(info);
|
||||
|
||||
return this.httpResponseUtil.nullResponse();
|
||||
}
|
||||
|
||||
/** Handle /fika/update/setstatus */
|
||||
public handleSetStatus(_url: string, info: IFikaUpdateSetStatusRequestData, _sessionID: string): INullResponseData {
|
||||
this.fikaUpdateController.handleSetStatus(info);
|
||||
|
||||
return this.httpResponseUtil.nullResponse();
|
||||
}
|
||||
|
||||
/** Handle /fika/update/addplayer */
|
||||
public handleRaidAddPlayer(_url: string, info: IFikaUpdateRaidAddPlayerData, _sessionID: string): INullResponseData {
|
||||
this.fikaUpdateController.handleRaidAddPlayer(info);
|
||||
|
||||
return this.httpResponseUtil.nullResponse();
|
||||
}
|
||||
|
||||
/** Handle /fika/update/playerdied */
|
||||
public handlePlayerDied(_url: string, info: IFikaUpdateRaidAddPlayerData, _sessionID: string): INullResponseData {
|
||||
this.fikaUpdateController.handleRaidPlayerDied(info);
|
||||
|
||||
return this.httpResponseUtil.nullResponse();
|
||||
}
|
||||
}
|
|
@ -1,45 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { ICompletedAchievementsResponse } from "@spt/models/eft/profile/ICompletedAchievementsResponse";
|
||||
import { SaveServer } from "@spt/servers/SaveServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
|
||||
@injectable()
|
||||
export class FikaAchievementController {
|
||||
constructor(
|
||||
@inject("SaveServer") protected saveServer: SaveServer,
|
||||
@inject("DatabaseService") protected databaseService: DatabaseService,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
getAchievementStatistics(_sessionID: string): ICompletedAchievementsResponse {
|
||||
const achievements = this.databaseService.getAchievements();
|
||||
const stats: Record<string, number> = {};
|
||||
|
||||
const profiles = Object.values(this.saveServer.getProfiles());
|
||||
|
||||
for (const achievement of achievements) {
|
||||
let percentage = 0;
|
||||
for (const profile of profiles) {
|
||||
if (profile.info?.password === "fika-dedicated") {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!profile.characters?.pmc?.Achievements) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!(achievement.id in profile.characters.pmc.Achievements)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
percentage++;
|
||||
}
|
||||
|
||||
percentage = (percentage / profiles.length) * 100;
|
||||
stats[achievement.id] = percentage;
|
||||
}
|
||||
|
||||
return { elements: stats };
|
||||
}
|
||||
}
|
|
@ -1,126 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { IFikaConfigClient } from "../models/fika/config/IFikaConfigClient";
|
||||
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { SaveServer } from "@spt/servers/SaveServer";
|
||||
|
||||
import { FikaClientModHashesHelper } from "../helpers/FikaClientModHashesHelper";
|
||||
import { IFikaConfigNatPunchServer } from "../models/fika/config/IFikaConfigNatPunchServer";
|
||||
import { IFikaCheckModRequestData } from "../models/fika/routes/client/check/IFikaCheckModRequestData";
|
||||
import { IFikaCheckModResponse, IVersionCheckResponse } from "../models/fika/routes/client/check/IFikaCheckModResponse";
|
||||
import { FikaConfig } from "../utils/FikaConfig";
|
||||
|
||||
@injectable()
|
||||
export class FikaClientController {
|
||||
protected requiredMods: Set<string>;
|
||||
protected allowedMods: Set<string>;
|
||||
protected hasRequiredOrOptionalMods: boolean = true;
|
||||
|
||||
constructor(
|
||||
@inject("FikaClientModHashesHelper") protected fikaClientModHashesHelper: FikaClientModHashesHelper,
|
||||
@inject("FikaConfig") protected fikaConfig: FikaConfig,
|
||||
@inject("SaveServer") protected saveServer: SaveServer,
|
||||
@inject("WinstonLogger") protected logger: ILogger,
|
||||
) {
|
||||
const config = this.fikaConfig.getConfig();
|
||||
|
||||
const sanitizedRequiredMods = this.filterEmptyMods(config.client.mods.required);
|
||||
const sanitizedOptionalMods = this.filterEmptyMods(config.client.mods.optional);
|
||||
|
||||
if (sanitizedRequiredMods.length === 0 && sanitizedOptionalMods.length === 0) {
|
||||
this.hasRequiredOrOptionalMods = false;
|
||||
}
|
||||
|
||||
this.requiredMods = new Set([...sanitizedRequiredMods, "com.fika.core", "com.SPT.custom", "com.SPT.singleplayer", "com.SPT.core", "com.SPT.debugging"]);
|
||||
this.allowedMods = new Set([...this.requiredMods, ...sanitizedOptionalMods, "com.bepis.bepinex.configurationmanager", "com.fika.dedicated"]);
|
||||
}
|
||||
|
||||
protected filterEmptyMods(array: string[]): string[] {
|
||||
return array.filter((str) => str.trim() !== "");
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/client/config
|
||||
*/
|
||||
public handleClientConfig(): IFikaConfigClient {
|
||||
return this.fikaConfig.getConfig().client;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/natpunchserver/config
|
||||
*/
|
||||
public handleNatPunchServerConfig(): IFikaConfigNatPunchServer {
|
||||
return this.fikaConfig.getConfig().natPunchServer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/client/check/mods
|
||||
*/
|
||||
public handleCheckMods(request: IFikaCheckModRequestData): IFikaCheckModResponse {
|
||||
const mismatchedMods: IFikaCheckModResponse = {
|
||||
forbidden: [],
|
||||
missingRequired: [],
|
||||
hashMismatch: [],
|
||||
};
|
||||
|
||||
// if no configuration was made, allow all mods
|
||||
if (!this.hasRequiredOrOptionalMods) {
|
||||
return mismatchedMods;
|
||||
}
|
||||
|
||||
//check for missing required mods first
|
||||
for (const pluginId of this.requiredMods) {
|
||||
if (!request[pluginId]) {
|
||||
mismatchedMods.missingRequired.push(pluginId);
|
||||
}
|
||||
}
|
||||
|
||||
// no need to check anything else since it's missing required mods
|
||||
if (mismatchedMods.missingRequired.length > 0) {
|
||||
return mismatchedMods;
|
||||
}
|
||||
|
||||
for (const [pluginId, hash] of Object.entries(request)) {
|
||||
// check if the mod isn't allowed
|
||||
if (!this.allowedMods.has(pluginId)) {
|
||||
mismatchedMods.forbidden.push(pluginId);
|
||||
continue;
|
||||
}
|
||||
|
||||
// first request made will fill in at the very least all the required mods hashes, following requests made by different clients will add any optional mod not added by the first request, otherwise will check against the first request data
|
||||
if (!this.fikaClientModHashesHelper.exists(pluginId)) {
|
||||
this.fikaClientModHashesHelper.addHash(pluginId, hash);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (this.fikaClientModHashesHelper.getHash(pluginId) !== hash) {
|
||||
mismatchedMods.hashMismatch.push(pluginId);
|
||||
}
|
||||
}
|
||||
|
||||
return mismatchedMods;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/profile/download
|
||||
*/
|
||||
public handleProfileDownload(sessionID: string): any {
|
||||
const profile = this.saveServer.getProfile(sessionID);
|
||||
if (profile) {
|
||||
this.logger.info(`${sessionID} has downloaded their profile`);
|
||||
return profile;
|
||||
}
|
||||
|
||||
this.logger.error(`${sessionID} wants to download their profile but we don't have it`);
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/client/check/version
|
||||
*/
|
||||
public handleVersionCheck(): IVersionCheckResponse {
|
||||
const version = this.fikaConfig.getVersion();
|
||||
return { version };
|
||||
}
|
||||
}
|
|
@ -1,285 +0,0 @@
|
|||
import { inject, injectAll, injectable } from "tsyringe";
|
||||
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { IFriendRequestSendResponse } from "@spt/models/eft/dialog/IFriendRequestSendResponse";
|
||||
import { IGetFriendListDataResponse } from "@spt/models/eft/dialog/IGetFriendListDataResponse";
|
||||
import { BackendErrorCodes } from "@spt/models/enums/BackendErrorCodes";
|
||||
import { ConfigTypes } from "@spt/models/enums/ConfigTypes";
|
||||
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
|
||||
import { DialogueController } from "@spt/controllers/DialogueController";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IMessage } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { MessageType } from "@spt/models/enums/MessageType";
|
||||
import { SaveServer } from "@spt/servers/SaveServer";
|
||||
import { SptWebSocketConnectionHandler } from "@spt/servers/ws/SptWebSocketConnectionHandler";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
import { FikaFriendRequestsHelper } from "../helpers/FikaFriendRequestsHelper";
|
||||
import { FikaPlayerRelationsHelper } from "../helpers/FikaPlayerRelationsHelper";
|
||||
import { IFriendRequestListResponse } from "../models/eft/dialog/IFriendRequestListResponse";
|
||||
|
||||
@injectable()
|
||||
export class FikaDialogueController {
|
||||
constructor(
|
||||
@inject("ProfileHelper") protected profileHelper: ProfileHelper,
|
||||
@inject("ConfigServer") protected configServer: ConfigServer,
|
||||
@inject("FikaFriendRequestsHelper") protected fikaFriendRequestsHelper: FikaFriendRequestsHelper,
|
||||
@inject("FikaPlayerRelationsHelper") protected fikaPlayerRelationsHelper: FikaPlayerRelationsHelper,
|
||||
@inject("DialogueController") protected dialogController: DialogueController,
|
||||
@inject("SaveServer") protected saveServer: SaveServer,
|
||||
@inject("HashUtil") protected hashUtil: HashUtil,
|
||||
@inject("TimeUtil") protected timeUtil: TimeUtil,
|
||||
@inject("SptWebSocketConnectionHandler") protected webSocketHandler: SptWebSocketConnectionHandler,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
public getFriendList(sessionID: string): IGetFriendListDataResponse {
|
||||
// Cast to any to get rid of protected error
|
||||
const dialogueChatBots: IDialogueChatBot[] = (this.dialogController as any).dialogueChatBots;
|
||||
let botsAndFriends = dialogueChatBots.map((v) => v.getChatBot());
|
||||
|
||||
const friendsIds = this.fikaPlayerRelationsHelper.getFriendsList(sessionID);
|
||||
|
||||
for (const friendId of friendsIds) {
|
||||
const profile = this.profileHelper.getPmcProfile(friendId);
|
||||
|
||||
if (!profile) {
|
||||
this.fikaPlayerRelationsHelper.removeFriend(sessionID, friendId);
|
||||
continue;
|
||||
}
|
||||
|
||||
botsAndFriends.push({
|
||||
_id: profile._id,
|
||||
aid: profile.aid,
|
||||
Info: {
|
||||
Nickname: profile.Info.Nickname,
|
||||
Level: profile.Info.Level,
|
||||
Side: profile.Info.Side,
|
||||
MemberCategory: profile.Info.MemberCategory,
|
||||
SelectedMemberCategory: profile.Info.SelectedMemberCategory,
|
||||
},
|
||||
} as any);
|
||||
}
|
||||
|
||||
return {
|
||||
Friends: botsAndFriends,
|
||||
Ignore: this.fikaPlayerRelationsHelper.getIgnoreList(sessionID),
|
||||
InIgnoreList: this.fikaPlayerRelationsHelper.getInIgnoreList(sessionID),
|
||||
};
|
||||
}
|
||||
|
||||
public sendMessage(sessionID: string, request: ISendMessageRequest): string {
|
||||
const profiles = this.saveServer.getProfiles();
|
||||
if (!(sessionID in profiles) || !(request.dialogId in profiles)) {
|
||||
// if it's not to another player let SPT handle it
|
||||
return DialogueController.prototype.sendMessage.call(this.dialogController, sessionID, request);
|
||||
}
|
||||
|
||||
const receiverProfile = profiles[request.dialogId];
|
||||
const senderProfile = profiles[sessionID];
|
||||
if (!(request.dialogId in senderProfile.dialogues)) {
|
||||
senderProfile.dialogues[request.dialogId] = {
|
||||
attachmentsNew: 0,
|
||||
new: 0,
|
||||
pinned: false,
|
||||
type: MessageType.USER_MESSAGE,
|
||||
messages: [],
|
||||
Users: [],
|
||||
_id: request.dialogId,
|
||||
};
|
||||
}
|
||||
|
||||
const senderDialog = senderProfile.dialogues[request.dialogId];
|
||||
senderDialog.Users = [
|
||||
{
|
||||
_id: receiverProfile.info.id,
|
||||
aid: receiverProfile.info.aid,
|
||||
Info: {
|
||||
Nickname: receiverProfile.characters.pmc.Info.Nickname,
|
||||
Side: receiverProfile.characters.pmc.Info.Side,
|
||||
Level: receiverProfile.characters.pmc.Info.Level,
|
||||
MemberCategory: receiverProfile.characters.pmc.Info.MemberCategory,
|
||||
SelectedMemberCategory: receiverProfile.characters.pmc.Info.SelectedMemberCategory,
|
||||
},
|
||||
},
|
||||
{
|
||||
_id: senderProfile.info.id,
|
||||
aid: senderProfile.info.aid,
|
||||
Info: {
|
||||
Nickname: senderProfile.characters.pmc.Info.Nickname,
|
||||
Side: senderProfile.characters.pmc.Info.Side,
|
||||
Level: senderProfile.characters.pmc.Info.Level,
|
||||
MemberCategory: senderProfile.characters.pmc.Info.MemberCategory,
|
||||
SelectedMemberCategory: receiverProfile.characters.pmc.Info.SelectedMemberCategory,
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
if (!(sessionID in receiverProfile.dialogues)) {
|
||||
receiverProfile.dialogues[sessionID] = {
|
||||
attachmentsNew: 0,
|
||||
new: 0,
|
||||
pinned: false,
|
||||
type: MessageType.USER_MESSAGE,
|
||||
messages: [],
|
||||
_id: sessionID,
|
||||
Users: [],
|
||||
};
|
||||
}
|
||||
|
||||
const receiverDialog = receiverProfile.dialogues[sessionID];
|
||||
receiverDialog.new++;
|
||||
receiverDialog.Users = [
|
||||
{
|
||||
_id: senderProfile.info.id,
|
||||
aid: senderProfile.info.aid,
|
||||
Info: {
|
||||
Nickname: senderProfile.characters.pmc.Info.Nickname,
|
||||
Side: senderProfile.characters.pmc.Info.Side,
|
||||
Level: senderProfile.characters.pmc.Info.Level,
|
||||
MemberCategory: senderProfile.characters.pmc.Info.MemberCategory,
|
||||
SelectedMemberCategory: receiverProfile.characters.pmc.Info.SelectedMemberCategory,
|
||||
},
|
||||
},
|
||||
{
|
||||
_id: receiverProfile.info.id,
|
||||
aid: receiverProfile.info.aid,
|
||||
Info: {
|
||||
Nickname: receiverProfile.characters.pmc.Info.Nickname,
|
||||
Side: receiverProfile.characters.pmc.Info.Side,
|
||||
Level: receiverProfile.characters.pmc.Info.Level,
|
||||
MemberCategory: receiverProfile.characters.pmc.Info.MemberCategory,
|
||||
SelectedMemberCategory: receiverProfile.characters.pmc.Info.SelectedMemberCategory,
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
const message: IMessage = {
|
||||
_id: this.hashUtil.generate(),
|
||||
uid: sessionID,
|
||||
type: request.type,
|
||||
Member: {
|
||||
Nickname: senderProfile.characters.pmc.Info.Nickname,
|
||||
Side: senderProfile.characters.pmc.Info.Side,
|
||||
Level: senderProfile.characters.pmc.Info.Level,
|
||||
MemberCategory: senderProfile.characters.pmc.Info.MemberCategory,
|
||||
Ignored: this.fikaPlayerRelationsHelper.getInIgnoreList(sessionID).includes(request.dialogId),
|
||||
Banned: false,
|
||||
},
|
||||
dt: this.timeUtil.getTimestamp(),
|
||||
text: request.text,
|
||||
rewardCollected: false,
|
||||
};
|
||||
|
||||
senderDialog.messages.push(message);
|
||||
receiverDialog.messages.push(message);
|
||||
|
||||
this.webSocketHandler.sendMessage(receiverProfile.info.id, {
|
||||
type: "new_message",
|
||||
eventId: "new_message",
|
||||
EventId: "new_message",
|
||||
dialogId: sessionID,
|
||||
message: message,
|
||||
} as any);
|
||||
|
||||
return message._id;
|
||||
}
|
||||
|
||||
public listOutbox(sessionID: string): IFriendRequestListResponse[] {
|
||||
const sentFriendRequests = this.fikaFriendRequestsHelper.getSentFriendRequests(sessionID) as IFriendRequestListResponse[];
|
||||
|
||||
for (const sentFriendRequest of sentFriendRequests) {
|
||||
const profile = this.profileHelper.getPmcProfile(sentFriendRequest.to);
|
||||
|
||||
if (!profile) {
|
||||
continue;
|
||||
}
|
||||
|
||||
sentFriendRequest.profile = {
|
||||
_id: profile._id,
|
||||
aid: profile.aid,
|
||||
Info: {
|
||||
Nickname: profile.Info.Nickname,
|
||||
Side: profile.Info.Side,
|
||||
Level: profile.Info.Level,
|
||||
MemberCategory: profile.Info.MemberCategory,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
return sentFriendRequests;
|
||||
}
|
||||
|
||||
public listInbox(sessionID: string): IFriendRequestListResponse[] {
|
||||
const receivedFriendRequests = this.fikaFriendRequestsHelper.getReceivedFriendRequests(sessionID) as IFriendRequestListResponse[];
|
||||
|
||||
for (const receivedFriendRequest of receivedFriendRequests) {
|
||||
const profile = this.profileHelper.getPmcProfile(receivedFriendRequest.from);
|
||||
|
||||
if (!profile) {
|
||||
continue;
|
||||
}
|
||||
|
||||
receivedFriendRequest.profile = {
|
||||
_id: profile._id,
|
||||
aid: profile.aid,
|
||||
Info: {
|
||||
Nickname: profile.Info.Nickname,
|
||||
Side: profile.Info.Side,
|
||||
Level: profile.Info.Level,
|
||||
MemberCategory: profile.Info.MemberCategory,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
return receivedFriendRequests;
|
||||
}
|
||||
|
||||
public sendFriendRequest(from: string, to: string): IFriendRequestSendResponse {
|
||||
this.fikaFriendRequestsHelper.addFriendRequest(from, to);
|
||||
|
||||
return {
|
||||
status: BackendErrorCodes.NONE,
|
||||
requestId: from,
|
||||
retryAfter: 0,
|
||||
};
|
||||
}
|
||||
|
||||
public acceptAllFriendRequests(sessionID: string): void {
|
||||
const receivedFriendRequests = this.fikaFriendRequestsHelper.getReceivedFriendRequests(sessionID);
|
||||
|
||||
for (const friendRequest of receivedFriendRequests) {
|
||||
this.acceptFriendRequest(friendRequest.from, friendRequest.to);
|
||||
}
|
||||
}
|
||||
|
||||
public acceptFriendRequest(from: string, to: string): void {
|
||||
this.fikaFriendRequestsHelper.removeFriendRequest(from, to, "accept");
|
||||
|
||||
this.fikaPlayerRelationsHelper.addFriend(from, to);
|
||||
}
|
||||
|
||||
public cancelFriendRequest(from: string, to: string): void {
|
||||
this.fikaFriendRequestsHelper.removeFriendRequest(from, to, "cancel");
|
||||
}
|
||||
|
||||
public declineFriendRequest(from: string, to: string): void {
|
||||
this.fikaFriendRequestsHelper.removeFriendRequest(from, to, "decline");
|
||||
}
|
||||
|
||||
public deleteFriend(fromId: string, friendId: string): void {
|
||||
this.fikaPlayerRelationsHelper.removeFriend(fromId, friendId);
|
||||
}
|
||||
|
||||
public ignoreFriend(fromId: string, friendId: string): void {
|
||||
this.fikaPlayerRelationsHelper.addToIgnoreList(fromId, friendId);
|
||||
}
|
||||
|
||||
public unIgnoreFriend(fromId: string, friendId: string): void {
|
||||
this.fikaPlayerRelationsHelper.removeFromIgnoreList(fromId, friendId);
|
||||
}
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData";
|
||||
|
||||
import { IFikaRaidsResponse } from "../models/fika/routes/location/IFikaRaidsResponse";
|
||||
import { FikaMatchService } from "../services/FikaMatchService";
|
||||
|
||||
@injectable()
|
||||
export class FikaLocationController {
|
||||
constructor(@inject("FikaMatchService") protected fikaMatchService: FikaMatchService) {
|
||||
// empty
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/location/raids
|
||||
* @param request
|
||||
* @returns
|
||||
*/
|
||||
public handleGetRaids(_request: IGetRaidConfigurationRequestData): IFikaRaidsResponse {
|
||||
const matches: IFikaRaidsResponse = [];
|
||||
|
||||
for (const [matchId, match] of this.fikaMatchService.getAllMatches()) {
|
||||
const players: Record<string, boolean> = {};
|
||||
for (const [profileId, player] of match.players) {
|
||||
players[profileId] = player.isDead;
|
||||
}
|
||||
|
||||
matches.push({
|
||||
serverId: matchId,
|
||||
hostUsername: match.hostUsername,
|
||||
playerCount: match.players.size,
|
||||
status: match.status,
|
||||
location: match.raidConfig.location,
|
||||
side: match.side,
|
||||
time: match.time,
|
||||
players: players,
|
||||
});
|
||||
}
|
||||
|
||||
return matches;
|
||||
}
|
||||
}
|
|
@ -1,241 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
import { WebSocket } from "ws";
|
||||
|
||||
import { InraidController } from "@spt/controllers/InraidController";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IRegisterPlayerRequestData } from "@spt/models/eft/inRaid/IRegisterPlayerRequestData";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
|
||||
import { EDedicatedStatus } from "../models/enums/EDedicatedStatus";
|
||||
import { EFikaMatchEndSessionMessage } from "../models/enums/EFikaMatchEndSessionMessages";
|
||||
import { EFikaNotifications } from "../models/enums/EFikaNotifications";
|
||||
import { IFikaRaidServerIdRequestData } from "../models/fika/routes/raid/IFikaRaidServerIdRequestData";
|
||||
import { IFikaRaidCreateRequestData } from "../models/fika/routes/raid/create/IFikaRaidCreateRequestData";
|
||||
import { IFikaRaidCreateResponse } from "../models/fika/routes/raid/create/IFikaRaidCreateResponse";
|
||||
import { IGetStatusDedicatedResponse } from "../models/fika/routes/raid/dedicated/IGetStatusDedicatedResponse";
|
||||
import { IStartDedicatedRequest } from "../models/fika/routes/raid/dedicated/IStartDedicatedRequest";
|
||||
import { IStartDedicatedResponse } from "../models/fika/routes/raid/dedicated/IStartDedicatedResponse";
|
||||
import { IStatusDedicatedRequest } from "../models/fika/routes/raid/dedicated/IStatusDedicatedRequest";
|
||||
import { IStatusDedicatedResponse } from "../models/fika/routes/raid/dedicated/IStatusDedicatedResponse";
|
||||
import { IFikaRaidGethostResponse } from "../models/fika/routes/raid/gethost/IFikaRaidGethostResponse";
|
||||
import { IFikaRaidSettingsResponse } from "../models/fika/routes/raid/getsettings/IFikaRaidSettingsResponse";
|
||||
import { IFikaRaidJoinRequestData } from "../models/fika/routes/raid/join/IFikaRaidJoinRequestData";
|
||||
import { IFikaRaidJoinResponse } from "../models/fika/routes/raid/join/IFikaRaidJoinResponse";
|
||||
import { IFikaRaidLeaveRequestData } from "../models/fika/routes/raid/leave/IFikaRaidLeaveRequestData";
|
||||
import { IStartRaidNotification } from "../models/fika/websocket/notifications/IStartRaidNotification";
|
||||
import { FikaMatchService } from "../services/FikaMatchService";
|
||||
import { FikaDedicatedRaidService } from "../services/dedicated/FikaDedicatedRaidService";
|
||||
import { FikaDedicatedRaidWebSocket } from "../websockets/FikaDedicatedRaidWebSocket";
|
||||
import { FikaNotificationWebSocket } from "../websockets/FikaNotificationWebSocket";
|
||||
|
||||
@injectable()
|
||||
export class FikaRaidController {
|
||||
constructor(
|
||||
@inject("DatabaseService") protected databaseService: DatabaseService,
|
||||
@inject("FikaMatchService") protected fikaMatchService: FikaMatchService,
|
||||
@inject("FikaDedicatedRaidService") protected fikaDedicatedRaidService: FikaDedicatedRaidService,
|
||||
@inject("FikaDedicatedRaidWebSocket") protected fikaDedicatedRaidWebSocket: FikaDedicatedRaidWebSocket,
|
||||
@inject("ProfileHelper") protected profileHelper: ProfileHelper,
|
||||
@inject("WinstonLogger") protected logger: ILogger,
|
||||
@inject("InraidController") protected inraidController: InraidController,
|
||||
@inject("FikaNotificationWebSocket") protected fikaNotificationWebSocket: FikaNotificationWebSocket,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/raid/create
|
||||
* @param request
|
||||
*/
|
||||
public handleRaidCreate(request: IFikaRaidCreateRequestData): IFikaRaidCreateResponse {
|
||||
const notification: IStartRaidNotification = {
|
||||
type: EFikaNotifications.StartedRaid,
|
||||
nickname: request.hostUsername,
|
||||
location: request.settings.location,
|
||||
};
|
||||
|
||||
this.fikaNotificationWebSocket.broadcast(notification);
|
||||
|
||||
return {
|
||||
success: this.fikaMatchService.createMatch(request),
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/raid/join
|
||||
* @param request
|
||||
*/
|
||||
public handleRaidJoin(request: IFikaRaidJoinRequestData): IFikaRaidJoinResponse {
|
||||
const match = this.fikaMatchService.getMatch(request.serverId);
|
||||
|
||||
return {
|
||||
serverId: request.serverId,
|
||||
timestamp: match.timestamp,
|
||||
gameVersion: match.gameVersion,
|
||||
fikaVersion: match.fikaVersion,
|
||||
raidCode: match.raidCode,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/raid/leave
|
||||
* @param request
|
||||
*/
|
||||
public handleRaidLeave(request: IFikaRaidLeaveRequestData): void {
|
||||
if (request.serverId === request.profileId) {
|
||||
this.fikaMatchService.endMatch(request.serverId, EFikaMatchEndSessionMessage.HOST_SHUTDOWN_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
this.fikaMatchService.removePlayerFromMatch(request.serverId, request.profileId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/raid/gethost
|
||||
* @param request
|
||||
*/
|
||||
public handleRaidGetHost(request: IFikaRaidServerIdRequestData): IFikaRaidGethostResponse {
|
||||
const match = this.fikaMatchService.getMatch(request.serverId);
|
||||
if (!match) {
|
||||
return;
|
||||
}
|
||||
|
||||
return {
|
||||
ips: match.ips,
|
||||
port: match.port,
|
||||
natPunch: match.natPunch,
|
||||
isDedicated: match.isDedicated,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/raid/getsettings
|
||||
* @param request
|
||||
*/
|
||||
public handleRaidGetSettings(request: IFikaRaidServerIdRequestData): IFikaRaidSettingsResponse {
|
||||
const match = this.fikaMatchService.getMatch(request.serverId);
|
||||
if (!match) {
|
||||
return;
|
||||
}
|
||||
|
||||
return {
|
||||
metabolismDisabled: match.raidConfig.metabolismDisabled,
|
||||
playersSpawnPlace: match.raidConfig.playersSpawnPlace,
|
||||
hourOfDay: match.raidConfig.timeAndWeatherSettings.hourOfDay,
|
||||
timeFlowType: match.raidConfig.timeAndWeatherSettings.timeFlowType,
|
||||
};
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/dedicated/start */
|
||||
handleRaidStartDedicated(sessionID: string, info: IStartDedicatedRequest): IStartDedicatedResponse {
|
||||
if (!this.fikaDedicatedRaidService.isDedicatedClientAvailable()) {
|
||||
return {
|
||||
matchId: null,
|
||||
error: "No dedicated clients available.",
|
||||
};
|
||||
}
|
||||
|
||||
if (sessionID in this.fikaDedicatedRaidService.dedicatedClients) {
|
||||
return {
|
||||
matchId: null,
|
||||
error: "You are trying to connect to a dedicated client while having Fika.Dedicated installed. Please remove Fika.Dedicated from your client and try again.",
|
||||
};
|
||||
}
|
||||
|
||||
let dedicatedClient: string | undefined = undefined;
|
||||
let dedicatedClientWs: WebSocket | undefined = undefined;
|
||||
|
||||
for (const dedicatedSessionId in this.fikaDedicatedRaidService.dedicatedClients) {
|
||||
const dedicatedClientInfo = this.fikaDedicatedRaidService.dedicatedClients[dedicatedSessionId];
|
||||
|
||||
if (dedicatedClientInfo.state != EDedicatedStatus.READY) {
|
||||
continue;
|
||||
}
|
||||
|
||||
dedicatedClientWs = this.fikaDedicatedRaidWebSocket.clientWebSockets[dedicatedSessionId];
|
||||
|
||||
if (!dedicatedClientWs || dedicatedClientWs.readyState == WebSocket.CLOSED) {
|
||||
continue;
|
||||
}
|
||||
|
||||
dedicatedClient = dedicatedSessionId;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!dedicatedClient) {
|
||||
return {
|
||||
matchId: null,
|
||||
error: "No dedicated clients available at this time.",
|
||||
};
|
||||
}
|
||||
|
||||
const pmcDedicatedClientProfile: IPmcData = this.profileHelper.getPmcProfile(dedicatedClient);
|
||||
const requesterProfile: IPmcData = this.profileHelper.getPmcProfile(sessionID);
|
||||
|
||||
this.logger.debug(`Dedicated: ${pmcDedicatedClientProfile.Info.Nickname} ${pmcDedicatedClientProfile.Info.Level} - Requester: ${requesterProfile.Info.Nickname} ${requesterProfile.Info.Level}`);
|
||||
|
||||
//Set level of the dedicated profile to the person that has requested the raid to be started.
|
||||
pmcDedicatedClientProfile.Info.Level = requesterProfile.Info.Level;
|
||||
pmcDedicatedClientProfile.Info.Experience = requesterProfile.Info.Experience;
|
||||
|
||||
this.fikaDedicatedRaidService.requestedSessions[dedicatedClient] = sessionID;
|
||||
|
||||
dedicatedClientWs.send(
|
||||
JSON.stringify({
|
||||
type: "fikaDedicatedStartRaid",
|
||||
...info,
|
||||
}),
|
||||
);
|
||||
|
||||
this.logger.info(`Sent WS fikaDedicatedStartRaid to ${dedicatedClient}`);
|
||||
|
||||
return {
|
||||
// This really isn't required, I just want to make sure on the client
|
||||
matchId: dedicatedClient,
|
||||
error: null,
|
||||
};
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/dedicated/status */
|
||||
public handleRaidStatusDedicated(sessionId: string, info: IStatusDedicatedRequest): IStatusDedicatedResponse {
|
||||
// Temp fix because the enum gets deserialized as a string instead of an integer
|
||||
switch (info.status.toString()) {
|
||||
case "READY":
|
||||
info.status = EDedicatedStatus.READY;
|
||||
break;
|
||||
case "IN_RAID":
|
||||
info.status = EDedicatedStatus.IN_RAID;
|
||||
break;
|
||||
}
|
||||
|
||||
if (info.status == EDedicatedStatus.READY && !this.fikaDedicatedRaidService.isDedicatedClientAvailable()) {
|
||||
if (this.fikaDedicatedRaidService.onDedicatedClientAvailable) {
|
||||
this.fikaDedicatedRaidService.onDedicatedClientAvailable();
|
||||
}
|
||||
}
|
||||
|
||||
this.fikaDedicatedRaidService.dedicatedClients[sessionId] = {
|
||||
state: info.status,
|
||||
lastPing: Date.now(),
|
||||
};
|
||||
|
||||
return {
|
||||
sessionId: info.sessionId,
|
||||
status: info.status,
|
||||
};
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/dedicated/getstatus */
|
||||
public handleRaidGetStatusDedicated(): IGetStatusDedicatedResponse {
|
||||
return {
|
||||
available: this.fikaDedicatedRaidService.isDedicatedClientAvailable(),
|
||||
};
|
||||
}
|
||||
|
||||
/** Handle /fika/raid/dedicated/registerPlayer */
|
||||
public handleRaidRegisterPlayer(sessionId: string, info: IRegisterPlayerRequestData): void {
|
||||
this.inraidController.addPlayer(sessionId, info);
|
||||
}
|
||||
}
|
|
@ -1,132 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { EventOutputHolder } from "@spt/routers/EventOutputHolder";
|
||||
import { SaveServer } from "@spt/servers/SaveServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
|
||||
import { EFikaNotifications } from "../models/enums/EFikaNotifications";
|
||||
import { IFikaSendItemRequestData } from "../models/fika/routes/senditem/IFikaSendItemRequestData";
|
||||
import { IFikaSenditemAvailablereceiversResponse } from "../models/fika/routes/senditem/availablereceivers/IFikaSenditemAvailablereceiversResponse";
|
||||
import { IReceivedSentItemNotification } from "../models/fika/websocket/notifications/IReceivedSentItemNotification";
|
||||
import { FikaConfig } from "../utils/FikaConfig";
|
||||
import { FikaNotificationWebSocket } from "../websockets/FikaNotificationWebSocket";
|
||||
|
||||
@injectable()
|
||||
export class FikaSendItemController {
|
||||
constructor(
|
||||
@inject("WinstonLogger") protected logger: ILogger,
|
||||
@inject("EventOutputHolder") protected eventOutputHolder: EventOutputHolder,
|
||||
@inject("DatabaseService") protected databaseService: DatabaseService,
|
||||
@inject("MailSendService") protected mailSendService: MailSendService,
|
||||
@inject("InventoryHelper") protected inventoryHelper: InventoryHelper,
|
||||
@inject("SaveServer") protected saveServer: SaveServer,
|
||||
@inject("ItemHelper") protected itemHelper: ItemHelper,
|
||||
@inject("HttpResponseUtil") protected httpResponse: HttpResponseUtil,
|
||||
@inject("FikaConfig") protected fikaConfig: FikaConfig,
|
||||
@inject("FikaNotificationWebSocket") protected fikaNotificationWebSocket: FikaNotificationWebSocket,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
public sendItem(_pmcData: IPmcData, body: IFikaSendItemRequestData, sessionID: string): IItemEventRouterResponse {
|
||||
const fikaConfig = this.fikaConfig.getConfig();
|
||||
const output = this.eventOutputHolder.getOutput(sessionID);
|
||||
|
||||
if (!body || !body.id || !body.target) {
|
||||
return this.httpResponse.appendErrorToOutput(output, "Missing data in body");
|
||||
}
|
||||
|
||||
const senderProfile: ISptProfile = this.saveServer.getProfile(sessionID);
|
||||
if (!senderProfile) {
|
||||
return this.httpResponse.appendErrorToOutput(output, "Sender profile not found");
|
||||
}
|
||||
|
||||
// Disabled until functionality is required due to being buggy
|
||||
|
||||
// if (senderProfile.inraid.location != "none") {
|
||||
// return this.httpResponse.appendErrorToOutput(
|
||||
// output,
|
||||
// `You cannot send items while in raid, current state is: ${senderProfile.inraid.location}`
|
||||
// );
|
||||
// }
|
||||
|
||||
const targetProfile: ISptProfile = this.saveServer.getProfile(body.target);
|
||||
if (!targetProfile) {
|
||||
return this.httpResponse.appendErrorToOutput(output, "Target profile not found");
|
||||
}
|
||||
|
||||
this.logger.info(`${body.id} is going to sessionID: ${body.target}`);
|
||||
|
||||
const senderItems: IItem[] = senderProfile.characters.pmc.Inventory.items;
|
||||
const itemsToSend: IItem[] = this.itemHelper.findAndReturnChildrenAsItems(senderItems, body.id);
|
||||
if (!itemsToSend || itemsToSend.length === 0) {
|
||||
return this.httpResponse.appendErrorToOutput(output, "Item not found in inventory");
|
||||
}
|
||||
|
||||
if (fikaConfig.server.giftedItemsLoseFIR) {
|
||||
for (const item of itemsToSend) {
|
||||
item.upd ??= {};
|
||||
|
||||
item.upd.SpawnedInSession = false;
|
||||
}
|
||||
}
|
||||
|
||||
this.mailSendService.sendSystemMessageToPlayer(
|
||||
body.target,
|
||||
`You have received a gift from ${senderProfile?.characters?.pmc?.Info?.Nickname ?? "unknown"}`,
|
||||
itemsToSend,
|
||||
604800
|
||||
);
|
||||
|
||||
this.inventoryHelper.removeItem(senderProfile.characters.pmc, body.id, sessionID, output);
|
||||
|
||||
const notification: IReceivedSentItemNotification = {
|
||||
type: EFikaNotifications.SentItem,
|
||||
nickname: senderProfile?.characters?.pmc?.Info?.Nickname,
|
||||
targetId: body.target,
|
||||
itemName: `${itemsToSend[0]._tpl} ShortName`,
|
||||
};
|
||||
|
||||
this.fikaNotificationWebSocket.send(body.target, notification);
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get available receivers for sending an item
|
||||
* @param sessionID
|
||||
* @returns
|
||||
*/
|
||||
public handleAvailableReceivers(sessionID: string): IFikaSenditemAvailablereceiversResponse {
|
||||
const sender: ISptProfile = this.saveServer.getProfile(sessionID);
|
||||
if (!sender) {
|
||||
return;
|
||||
}
|
||||
|
||||
const result: Record<string, string> = {};
|
||||
const profiles = this.saveServer.getProfiles();
|
||||
|
||||
for (const profile of Object.values(profiles)) {
|
||||
//Uninitialized profiles can cause this to error out, skip these.
|
||||
if (!profile.characters?.pmc?.Info) continue;
|
||||
|
||||
if (profile.info.password === "fika-dedicated") continue;
|
||||
|
||||
const nickname = profile.characters.pmc.Info.Nickname;
|
||||
if (!(nickname in result) && nickname !== sender.characters.pmc.Info.Nickname) {
|
||||
result[nickname] = profile.info.id;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
|
@ -1,65 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { IFikaUpdateRaidAddPlayerData } from "../models/fika/routes/raid/join/IFikaRaidAddPlayerData";
|
||||
import { IFikaUpdatePingRequestData } from "../models/fika/routes/update/IFikaUpdatePingRequestData";
|
||||
import { IFikaUpdatePlayerspawnRequestData } from "../models/fika/routes/update/IFikaUpdatePlayerspawnRequestData";
|
||||
import { IFikaUpdateSetStatusRequestData } from "../models/fika/routes/update/IFikaUpdateSetStatusRequestData";
|
||||
import { IFikaUpdateSethostRequestData } from "../models/fika/routes/update/IFikaUpdateSethostRequestData";
|
||||
import { FikaMatchService } from "../services/FikaMatchService";
|
||||
|
||||
@injectable()
|
||||
export class FikaUpdateController {
|
||||
constructor(@inject("FikaMatchService") protected fikaMatchService: FikaMatchService) {
|
||||
// empty
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/update/ping
|
||||
* @param request
|
||||
*/
|
||||
public handlePing(request: IFikaUpdatePingRequestData): void {
|
||||
this.fikaMatchService.resetTimeout(request.serverId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/update/playerspawn
|
||||
* @param request
|
||||
*/
|
||||
public handlePlayerspawn(request: IFikaUpdatePlayerspawnRequestData): void {
|
||||
this.fikaMatchService.setPlayerGroup(request.serverId, request.profileId, request.groupId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/update/sethost
|
||||
* @param request
|
||||
*/
|
||||
public handleSethost(request: IFikaUpdateSethostRequestData): void {
|
||||
this.fikaMatchService.setMatchHost(request.serverId, request.ips, request.port, request.natPunch, request.isDedicated);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/update/setstatus
|
||||
* @param request
|
||||
*/
|
||||
public handleSetStatus(request: IFikaUpdateSetStatusRequestData): void {
|
||||
this.fikaMatchService.setMatchStatus(request.serverId, request.status);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/update/addplayer
|
||||
* @param request
|
||||
* @returns
|
||||
*/
|
||||
public handleRaidAddPlayer(request: IFikaUpdateRaidAddPlayerData): void {
|
||||
this.fikaMatchService.addPlayerToMatch(request.serverId, request.profileId, { groupId: null, isDead: false, isSpectator: request.isSpectator });
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle /fika/update/playerdied
|
||||
* @param request
|
||||
* @returns
|
||||
*/
|
||||
public handleRaidPlayerDied(request: IFikaUpdateRaidAddPlayerData): void {
|
||||
this.fikaMatchService.setPlayerDead(request.serverId, request.profileId);
|
||||
}
|
||||
}
|
|
@ -1,176 +0,0 @@
|
|||
import { DependencyContainer, Lifecycle } from "tsyringe";
|
||||
|
||||
import { FikaConfig } from "../utils/FikaConfig";
|
||||
|
||||
import { Overrider } from "../overrides/Overrider";
|
||||
import { DialogueCallbacksOverride } from "../overrides/callbacks/DialogueCallbacks";
|
||||
import { LocationLifecycleServiceOverride } from "../overrides/services/LocationLifecycleService";
|
||||
import { AchievementControllerOverride } from "../overrides/controllers/AchievementController";
|
||||
import { DialogueControllerOverride } from "../overrides/controllers/DialogueController";
|
||||
import { ProfileControllerOverride } from "../overrides/controllers/ProfileController";
|
||||
// import { LocalesOverride } from "../overrides/other/Locales";
|
||||
import { HttpRouterOverride } from "../overrides/routers/HttpRouter";
|
||||
import { LauncherControllerOverride } from "../overrides/controllers/LauncherController";
|
||||
import { MatchControllerOverride } from "../overrides/controllers/MatchController";
|
||||
|
||||
import { FikaMatchService } from "../services/FikaMatchService";
|
||||
import { FikaFriendRequestsCacheService } from "../services/cache/FikaFriendRequestsCacheService";
|
||||
import { FikaPlayerRelationsCacheService } from "../services/cache/FikaPlayerRelationsCacheService";
|
||||
import { FikaDedicatedRaidService } from "../services/dedicated/FikaDedicatedRaidService";
|
||||
import { FikaInsuranceService } from "../services/FikaInsuranceService";
|
||||
import { FikaPresenceService } from "../services/FikaPresenceService";
|
||||
|
||||
import { FikaClientModHashesHelper } from "../helpers/FikaClientModHashesHelper";
|
||||
import { FikaFriendRequestsHelper } from "../helpers/FikaFriendRequestsHelper";
|
||||
import { FikaPlayerRelationsHelper } from "../helpers/FikaPlayerRelationsHelper";
|
||||
|
||||
import { FikaAchievementController } from "../controllers/FikaAchievementController";
|
||||
import { FikaClientController } from "../controllers/FikaClientController";
|
||||
import { FikaDialogueController } from "../controllers/FikaDialogueController";
|
||||
import { FikaLocationController } from "../controllers/FikaLocationController";
|
||||
import { FikaRaidController } from "../controllers/FikaRaidController";
|
||||
import { FikaSendItemController } from "../controllers/FikaSendItemController";
|
||||
import { FikaUpdateController } from "../controllers/FikaUpdateController";
|
||||
|
||||
import { FikaClientCallbacks } from "../callbacks/FikaClientCallbacks";
|
||||
import { FikaLocationCallbacks } from "../callbacks/FikaLocationCallbacks";
|
||||
import { FikaRaidCallbacks } from "../callbacks/FikaRaidCallbacks";
|
||||
import { FikaSendItemCallbacks } from "../callbacks/FikaSendItemCallbacks";
|
||||
import { FikaUpdateCallbacks } from "../callbacks/FikaUpdateCallbacks";
|
||||
import { FikaPresenceCallbacks } from "../callbacks/FikaPresenceCallbacks";
|
||||
|
||||
import { FikaItemEventRouter } from "../routers/item_events/FikaItemEventRouter";
|
||||
import { FikaClientStaticRouter } from "../routers/static/FikaClientStaticRouter";
|
||||
import { FikaLocationStaticRouter } from "../routers/static/FikaLocationStaticRouter";
|
||||
import { FikaRaidStaticRouter } from "../routers/static/FikaRaidStaticRouter";
|
||||
import { FikaSendItemStaticRouter } from "../routers/static/FikaSendItemStaticRouter";
|
||||
import { FikaUpdateStaticRouter } from "../routers/static/FikaUpdateStaticRouter";
|
||||
import { FikaPresenceStaticRouter } from "../routers/static/FikaPresenceStaticRouter";
|
||||
|
||||
import { FikaDedicatedRaidWebSocket } from "../websockets/FikaDedicatedRaidWebSocket";
|
||||
import { FikaNotificationWebSocket } from "../websockets/FikaNotificationWebSocket";
|
||||
|
||||
import { Fika } from "../Fika";
|
||||
import { FikaDedicatedProfileService } from "../services/dedicated/FikaDedicatedProfileService";
|
||||
import { FikaServerTools } from "../utils/FikaServerTools";
|
||||
import { FikaNotificationStaticRouter } from "../routers/static/FikaNotificationStaticRouter";
|
||||
import { FikaNotificationCallbacks } from "../callbacks/FikaNotificationCallbacks";
|
||||
|
||||
export class Container {
|
||||
public static register(container: DependencyContainer): void {
|
||||
Container.registerUtils(container);
|
||||
|
||||
Container.registerOverrides(container);
|
||||
|
||||
Container.registerServices(container);
|
||||
|
||||
Container.registerHelpers(container);
|
||||
|
||||
Container.registerControllers(container);
|
||||
|
||||
Container.registerCallbacks(container);
|
||||
|
||||
Container.registerRouters(container);
|
||||
|
||||
Container.registerWebSockets(container);
|
||||
|
||||
Container.registerListTypes(container);
|
||||
|
||||
container.register<Fika>("Fika", Fika, { lifecycle: Lifecycle.Singleton });
|
||||
}
|
||||
|
||||
private static registerListTypes(container: DependencyContainer): void {
|
||||
container.registerType("Overrides", "DialogueCallbacksOverride");
|
||||
container.registerType("Overrides", "DialogueControllerOverride");
|
||||
container.registerType("Overrides", "ProfileControllerOverride");
|
||||
container.registerType("Overrides", "HttpRouterOverride");
|
||||
// container.registerType("Overrides", "LocalesOverride");
|
||||
container.registerType("Overrides", "AchievementControllerOverride");
|
||||
container.registerType("Overrides", "LauncherControllerOverride");
|
||||
container.registerType("Overrides", "LocationLifecycleServiceOverride");
|
||||
container.registerType("Overrides", "MatchControllerOverride");
|
||||
|
||||
container.registerType("StaticRoutes", "FikaClientStaticRouter");
|
||||
container.registerType("StaticRoutes", "FikaLocationStaticRouter");
|
||||
container.registerType("StaticRoutes", "FikaRaidStaticRouter");
|
||||
container.registerType("StaticRoutes", "FikaSendItemStaticRouter");
|
||||
container.registerType("StaticRoutes", "FikaUpdateStaticRouter");
|
||||
container.registerType("StaticRoutes", "FikaNotificationStaticRouter");
|
||||
container.registerType("StaticRoutes", "FikaPresenceStaticRouter");
|
||||
|
||||
container.registerType("IERouters", "FikaItemEventRouter");
|
||||
|
||||
container.registerType("WebSocketConnectionHandler", "FikaDedicatedRaidWebSocket");
|
||||
container.registerType("WebSocketConnectionHandler", "FikaNotificationWebSocket");
|
||||
}
|
||||
|
||||
private static registerUtils(container: DependencyContainer): void {
|
||||
container.register<FikaConfig>("FikaConfig", FikaConfig, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<FikaServerTools>("FikaServerTools", FikaServerTools, { lifecycle: Lifecycle.Singleton });
|
||||
}
|
||||
|
||||
private static registerOverrides(container: DependencyContainer): void {
|
||||
container.register<DialogueCallbacksOverride>("DialogueCallbacksOverride", DialogueCallbacksOverride, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<DialogueControllerOverride>("DialogueControllerOverride", DialogueControllerOverride, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<ProfileControllerOverride>("ProfileControllerOverride", ProfileControllerOverride, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<HttpRouterOverride>("HttpRouterOverride", HttpRouterOverride, { lifecycle: Lifecycle.Singleton });
|
||||
// container.register<LocalesOverride>("LocalesOverride", LocalesOverride, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<Overrider>("Overrider", Overrider, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<AchievementControllerOverride>("AchievementControllerOverride", AchievementControllerOverride, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<LauncherControllerOverride>("LauncherControllerOverride", LauncherControllerOverride, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<LocationLifecycleServiceOverride>("LocationLifecycleServiceOverride", LocationLifecycleServiceOverride, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<MatchControllerOverride>("MatchControllerOverride", MatchControllerOverride, { lifecycle: Lifecycle.Singleton });
|
||||
}
|
||||
|
||||
private static registerServices(container: DependencyContainer): void {
|
||||
container.register<FikaMatchService>("FikaMatchService", FikaMatchService, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<FikaFriendRequestsCacheService>("FikaFriendRequestsCacheService", FikaFriendRequestsCacheService, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<FikaPlayerRelationsCacheService>("FikaPlayerRelationsCacheService", FikaPlayerRelationsCacheService, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<FikaDedicatedRaidService>("FikaDedicatedRaidService", FikaDedicatedRaidService, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<FikaDedicatedProfileService>("FikaDedicatedProfileService", FikaDedicatedProfileService, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<FikaInsuranceService>("FikaInsuranceService", FikaInsuranceService, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<FikaPresenceService>("FikaPresenceService", FikaPresenceService, { lifecycle: Lifecycle.Singleton });
|
||||
}
|
||||
|
||||
private static registerHelpers(container: DependencyContainer): void {
|
||||
container.register<FikaClientModHashesHelper>("FikaClientModHashesHelper", FikaClientModHashesHelper, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<FikaFriendRequestsHelper>("FikaFriendRequestsHelper", FikaFriendRequestsHelper, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<FikaPlayerRelationsHelper>("FikaPlayerRelationsHelper", FikaPlayerRelationsHelper, { lifecycle: Lifecycle.Singleton });
|
||||
}
|
||||
|
||||
private static registerControllers(container: DependencyContainer): void {
|
||||
container.register<FikaClientController>("FikaClientController", { useClass: FikaClientController });
|
||||
container.register<FikaDialogueController>("FikaDialogueController", { useClass: FikaDialogueController });
|
||||
container.register<FikaLocationController>("FikaLocationController", { useClass: FikaLocationController });
|
||||
container.register<FikaRaidController>("FikaRaidController", { useClass: FikaRaidController });
|
||||
container.register<FikaSendItemController>("FikaSendItemController", { useClass: FikaSendItemController });
|
||||
container.register<FikaUpdateController>("FikaUpdateController", { useClass: FikaUpdateController });
|
||||
container.register<FikaAchievementController>("FikaAchievementController", { useClass: FikaAchievementController });
|
||||
}
|
||||
|
||||
private static registerCallbacks(container: DependencyContainer): void {
|
||||
container.register<FikaClientCallbacks>("FikaClientCallbacks", { useClass: FikaClientCallbacks });
|
||||
container.register<FikaLocationCallbacks>("FikaLocationCallbacks", { useClass: FikaLocationCallbacks });
|
||||
container.register<FikaRaidCallbacks>("FikaRaidCallbacks", { useClass: FikaRaidCallbacks });
|
||||
container.register<FikaSendItemCallbacks>("FikaSendItemCallbacks", { useClass: FikaSendItemCallbacks });
|
||||
container.register<FikaUpdateCallbacks>("FikaUpdateCallbacks", { useClass: FikaUpdateCallbacks });
|
||||
container.register<FikaNotificationCallbacks>("FikaNotificationCallbacks", { useClass: FikaNotificationCallbacks });
|
||||
container.register<FikaPresenceCallbacks>("FikaPresenceCallbacks", { useClass: FikaPresenceCallbacks });
|
||||
}
|
||||
|
||||
private static registerRouters(container: DependencyContainer): void {
|
||||
container.register<FikaClientStaticRouter>("FikaClientStaticRouter", { useClass: FikaClientStaticRouter });
|
||||
container.register<FikaLocationStaticRouter>("FikaLocationStaticRouter", { useClass: FikaLocationStaticRouter });
|
||||
container.register<FikaRaidStaticRouter>("FikaRaidStaticRouter", { useClass: FikaRaidStaticRouter });
|
||||
container.register<FikaSendItemStaticRouter>("FikaSendItemStaticRouter", { useClass: FikaSendItemStaticRouter });
|
||||
container.register<FikaUpdateStaticRouter>("FikaUpdateStaticRouter", { useClass: FikaUpdateStaticRouter });
|
||||
container.register<FikaItemEventRouter>("FikaItemEventRouter", { useClass: FikaItemEventRouter });
|
||||
container.register<FikaNotificationStaticRouter>("FikaNotificationStaticRouter", { useClass: FikaNotificationStaticRouter });
|
||||
container.register<FikaPresenceStaticRouter>("FikaPresenceStaticRouter", { useClass: FikaPresenceStaticRouter });
|
||||
}
|
||||
|
||||
private static registerWebSockets(container: DependencyContainer): void {
|
||||
container.register<FikaDedicatedRaidWebSocket>("FikaDedicatedRaidWebSocket", FikaDedicatedRaidWebSocket, { lifecycle: Lifecycle.Singleton });
|
||||
container.register<FikaNotificationWebSocket>("FikaNotificationWebSocket", FikaNotificationWebSocket, { lifecycle: Lifecycle.Singleton });
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
import { DependencyContainer } from "tsyringe";
|
||||
|
||||
export abstract class Override {
|
||||
public abstract execute(container: DependencyContainer): void | Promise<void>;
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
export class FikaClientModHashesHelper {
|
||||
protected hashes: Map<string, number>;
|
||||
|
||||
constructor() {
|
||||
this.hashes = new Map();
|
||||
}
|
||||
|
||||
public getLength(): number {
|
||||
return this.hashes.size;
|
||||
}
|
||||
|
||||
public exists(pluginId: string): boolean {
|
||||
return this.hashes.has(pluginId);
|
||||
}
|
||||
|
||||
public getHash(pluginId: string): number {
|
||||
return this.hashes.get(pluginId);
|
||||
}
|
||||
|
||||
public addHash(pluginId: string, hash: number): void {
|
||||
this.hashes.set(pluginId, hash);
|
||||
}
|
||||
}
|
|
@ -1,178 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
|
||||
import { IFikaFriendRequests } from "../models/fika/IFikaFriendRequests";
|
||||
import { FikaFriendRequestsCacheService } from "../services/cache/FikaFriendRequestsCacheService";
|
||||
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { SaveServer } from "@spt/servers/SaveServer";
|
||||
import { SptWebSocketConnectionHandler } from "@spt/servers/ws/SptWebSocketConnectionHandler";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { LogTextColor } from "@spt/models/spt/logging/LogTextColor";
|
||||
|
||||
@injectable()
|
||||
export class FikaFriendRequestsHelper {
|
||||
constructor(
|
||||
@inject("HashUtil") protected hashUtil: HashUtil,
|
||||
@inject("FikaFriendRequestsCacheService") protected fikaFriendRequestsCacheService: FikaFriendRequestsCacheService,
|
||||
@inject("SaveServer") protected saveServer: SaveServer,
|
||||
@inject("SptWebSocketConnectionHandler") protected webSocketHandler: SptWebSocketConnectionHandler,
|
||||
@inject("WinstonLogger") protected logger: ILogger,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the friend requests that were sent to the given player
|
||||
* @param profileId
|
||||
* @returns
|
||||
*/
|
||||
public getReceivedFriendRequests(profileId: string): IFikaFriendRequests[] {
|
||||
return this.fikaFriendRequestsCacheService.getReceivedFriendRequests(profileId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the friend requests that were sent by the given player
|
||||
* @param profileId
|
||||
* @returns
|
||||
*/
|
||||
public getSentFriendRequests(profileId: string): IFikaFriendRequests[] {
|
||||
return this.fikaFriendRequestsCacheService.getSentFriendRequests(profileId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a friend request
|
||||
* @param fromProfileId
|
||||
* @param toProfileId
|
||||
*/
|
||||
public addFriendRequest(fromProfileId: string, toProfileId: string): void {
|
||||
if (this.fikaFriendRequestsCacheService.exists(fromProfileId, toProfileId)) {
|
||||
this.logger.logWithColor(`Friend request ${fromProfileId}->${toProfileId} already exists`, LogTextColor.YELLOW);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.saveServer.profileExists(toProfileId)) {
|
||||
this.logger.logWithColor(`Friend request: ${toProfileId} doesn't exist! ${fromProfileId} tried to add an invalid user!`, LogTextColor.YELLOW);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
this.fikaFriendRequestsCacheService.storeFriendRequest({
|
||||
_id: this.hashUtil.generate(),
|
||||
from: fromProfileId,
|
||||
to: toProfileId,
|
||||
date: Math.round(Date.now() / 1000),
|
||||
});
|
||||
|
||||
let profile: ISptProfile = this.saveServer.getProfile(fromProfileId);
|
||||
if (profile) {
|
||||
this.logger.logWithColor(`Sending WebSocket message to ${toProfileId}`, LogTextColor.GREEN);
|
||||
|
||||
this.webSocketHandler.sendMessage(toProfileId, {
|
||||
type: "friendListNewRequest",
|
||||
eventId: "friendListNewRequest",
|
||||
_id: fromProfileId,
|
||||
profile: {
|
||||
_id: profile.info.id,
|
||||
aid: profile.info.aid,
|
||||
Info: {
|
||||
Nickname: profile.characters.pmc.Info.Nickname,
|
||||
Side: profile.characters.pmc.Info.Side,
|
||||
Level: profile.characters.pmc.Info.Level,
|
||||
MemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
SelectedMemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
Ignored: false,
|
||||
Banned: profile.characters.pmc.Info.BannedState,
|
||||
},
|
||||
},
|
||||
} as any);
|
||||
} else {
|
||||
this.logger.logWithColor(`Could not find profile for ${fromProfileId}`, LogTextColor.RED);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a friend request
|
||||
* @param fromProfileId
|
||||
* @param toProfileId
|
||||
*/
|
||||
public removeFriendRequest(fromProfileId: string, toProfileId: string, reason: string): void {
|
||||
if (!this.fikaFriendRequestsCacheService.exists(fromProfileId, toProfileId)) {
|
||||
this.logger.warning(`Friend request ${fromProfileId}->${toProfileId} doesn't exist`);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
this.logger.info(`reason (${reason}), fromProfileId (${fromProfileId}), toProfileId (${toProfileId})`);
|
||||
this.fikaFriendRequestsCacheService.deleteFriendRequest(fromProfileId, toProfileId);
|
||||
switch (reason) {
|
||||
case "accept": {
|
||||
const profile = this.saveServer.getProfile(toProfileId);
|
||||
this.webSocketHandler.sendMessage(fromProfileId, {
|
||||
type: "friendListRequestAccept",
|
||||
eventId: "friendListRequestAccept",
|
||||
profile: {
|
||||
_id: profile.info.id,
|
||||
aid: profile.info.aid,
|
||||
Info: {
|
||||
Nickname: profile.characters.pmc.Info.Nickname,
|
||||
Side: profile.characters.pmc.Info.Side,
|
||||
Level: profile.characters.pmc.Info.Level,
|
||||
MemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
SelectedMemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
Ignored: false,
|
||||
Banned: profile.characters.pmc.Info.BannedState,
|
||||
},
|
||||
},
|
||||
} as any);
|
||||
|
||||
break;
|
||||
}
|
||||
case "cancel": {
|
||||
const profile = this.saveServer.getProfile(fromProfileId);
|
||||
this.webSocketHandler.sendMessage(toProfileId, {
|
||||
type: "friendListRequestCancel",
|
||||
eventId: "friendListRequestCancel",
|
||||
profile: {
|
||||
_id: profile.info.id,
|
||||
aid: profile.info.aid,
|
||||
Info: {
|
||||
Nickname: profile.characters.pmc.Info.Nickname,
|
||||
Side: profile.characters.pmc.Info.Side,
|
||||
Level: profile.characters.pmc.Info.Level,
|
||||
MemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
SelectedMemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
Ignored: false,
|
||||
Banned: profile.characters.pmc.Info.BannedState,
|
||||
},
|
||||
},
|
||||
} as any);
|
||||
|
||||
break;
|
||||
}
|
||||
case "decline": {
|
||||
const profile = this.saveServer.getProfile(toProfileId);
|
||||
this.webSocketHandler.sendMessage(fromProfileId, {
|
||||
type: "friendListRequestDecline",
|
||||
eventId: "friendListRequestDecline",
|
||||
profile: {
|
||||
_id: profile.info.id,
|
||||
aid: profile.info.aid,
|
||||
Info: {
|
||||
Nickname: profile.characters.pmc.Info.Nickname,
|
||||
Side: profile.characters.pmc.Info.Side,
|
||||
Level: profile.characters.pmc.Info.Level,
|
||||
MemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
SelectedMemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
Ignored: false,
|
||||
Banned: profile.characters.pmc.Info.BannedState,
|
||||
},
|
||||
},
|
||||
} as any);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,183 +0,0 @@
|
|||
import { inject, injectable } from "tsyringe";
|
||||
|
||||
import { FikaPlayerRelationsCacheService } from "../services/cache/FikaPlayerRelationsCacheService";
|
||||
import { SaveServer } from "@spt/servers/SaveServer";
|
||||
import { SptWebSocketConnectionHandler } from "@spt/servers/ws/SptWebSocketConnectionHandler";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
|
||||
|
||||
@injectable()
|
||||
export class FikaPlayerRelationsHelper {
|
||||
constructor(
|
||||
@inject("FikaPlayerRelationsCacheService") protected fikaPlayerRelationsCacheService: FikaPlayerRelationsCacheService,
|
||||
@inject("SaveServer") protected saveServer: SaveServer,
|
||||
@inject("SptWebSocketConnectionHandler") protected webSocketHandler: SptWebSocketConnectionHandler,
|
||||
@inject("WinstonLogger") protected logger: ILogger,
|
||||
) {
|
||||
// empty
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the friendlist from the given player
|
||||
* @param profileId
|
||||
* @returns
|
||||
*/
|
||||
public getFriendsList(profileId: string): string[] {
|
||||
return this.fikaPlayerRelationsCacheService.getStoredValue(profileId).Friends;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ignorelist from the given player
|
||||
* @param profileId
|
||||
* @returns
|
||||
*/
|
||||
public getIgnoreList(profileId: string): string[] {
|
||||
return this.fikaPlayerRelationsCacheService.getStoredValue(profileId).Ignore;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a list of players ignoring the given player
|
||||
* @param profileId
|
||||
* @returns
|
||||
*/
|
||||
public getInIgnoreList(profileId: string): string[] {
|
||||
const storedPlayers = this.fikaPlayerRelationsCacheService.getKeys();
|
||||
|
||||
return storedPlayers.filter((player) => this.fikaPlayerRelationsCacheService.getStoredValue(player).Ignore.includes(profileId));
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes 2 players fwends :D
|
||||
* @param fromProfileId
|
||||
* @param toProfileId
|
||||
*/
|
||||
public addFriend(fromProfileId: string, toProfileId: string): void {
|
||||
const playerRelations1 = this.fikaPlayerRelationsCacheService.getStoredValue(fromProfileId);
|
||||
|
||||
if (!playerRelations1.Friends.includes(toProfileId)) {
|
||||
playerRelations1.Friends.push(toProfileId);
|
||||
this.fikaPlayerRelationsCacheService.storeValue(fromProfileId, playerRelations1);
|
||||
}
|
||||
|
||||
const playerRelations2 = this.fikaPlayerRelationsCacheService.getStoredValue(toProfileId);
|
||||
|
||||
if (!playerRelations2.Friends.includes(fromProfileId)) {
|
||||
playerRelations2.Friends.push(fromProfileId);
|
||||
this.fikaPlayerRelationsCacheService.storeValue(toProfileId, playerRelations2);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* If the 2 players are fwends, it makes them not fwends :(
|
||||
* @param fromProfileId
|
||||
* @param toProfileId
|
||||
*/
|
||||
public removeFriend(fromProfileId: string, toProfileId: string): void {
|
||||
const playerRelations1 = this.fikaPlayerRelationsCacheService.getStoredValue(fromProfileId);
|
||||
|
||||
if (playerRelations1.Friends.includes(toProfileId)) {
|
||||
playerRelations1.Friends.splice(playerRelations1.Friends.indexOf(toProfileId), 1);
|
||||
this.fikaPlayerRelationsCacheService.storeValue(fromProfileId, playerRelations1);
|
||||
}
|
||||
|
||||
const playerRelations2 = this.fikaPlayerRelationsCacheService.getStoredValue(toProfileId);
|
||||
|
||||
if (playerRelations2.Friends.includes(fromProfileId)) {
|
||||
playerRelations2.Friends.splice(playerRelations2.Friends.indexOf(fromProfileId), 1);
|
||||
this.fikaPlayerRelationsCacheService.storeValue(toProfileId, playerRelations2);
|
||||
}
|
||||
|
||||
this.logger.info(`removeFriend: ${fromProfileId}->${toProfileId}`);
|
||||
|
||||
const profile = this.saveServer.getProfile(fromProfileId);
|
||||
this.webSocketHandler.sendMessage(toProfileId, {
|
||||
type: "youAreRemovedFromFriendList",
|
||||
eventId: "youAreRemovedFromFriendList",
|
||||
profile: {
|
||||
_id: profile.info.id,
|
||||
aid: profile.info.aid,
|
||||
Info: {
|
||||
Nickname: profile.characters.pmc.Info.Nickname,
|
||||
Side: profile.characters.pmc.Info.Side,
|
||||
Level: profile.characters.pmc.Info.Level,
|
||||
MemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
SelectedMemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
Ignored: false,
|
||||
Banned: profile.characters.pmc.Info.BannedState,
|
||||
},
|
||||
},
|
||||
} as any);
|
||||
}
|
||||
|
||||
/**
|
||||
* If player2 is not in player1's ignore list, it adds them
|
||||
* @param fromProfileId
|
||||
* @param toProfileId
|
||||
*/
|
||||
public addToIgnoreList(fromProfileId: string, toProfileId: string): void {
|
||||
const playerRelations = this.fikaPlayerRelationsCacheService.getStoredValue(fromProfileId);
|
||||
|
||||
if (playerRelations.Ignore.includes(toProfileId)) {
|
||||
return;
|
||||
}
|
||||
|
||||
playerRelations.Ignore.push(toProfileId);
|
||||
this.fikaPlayerRelationsCacheService.storeValue(fromProfileId, playerRelations);
|
||||
|
||||
let profile: ISptProfile = this.saveServer.getProfile(fromProfileId);
|
||||
this.webSocketHandler.sendMessage(toProfileId, {
|
||||
type: "youAreAddToIgnoreList",
|
||||
eventId: "youAreAddToIgnoreList",
|
||||
_id: fromProfileId,
|
||||
profile: {
|
||||
_id: profile.info.id,
|
||||
aid: profile.info.aid,
|
||||
Info: {
|
||||
Nickname: profile.characters.pmc.Info.Nickname,
|
||||
Side: profile.characters.pmc.Info.Side,
|
||||
Level: profile.characters.pmc.Info.Level,
|
||||
MemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
SelectedMemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
Ignored: false,
|
||||
Banned: profile.characters.pmc.Info.BannedState,
|
||||
},
|
||||
},
|
||||
} as any);
|
||||
}
|
||||
|
||||
/**
|
||||
* If player2 is in player1's ignore list, it removes them
|
||||
* @param fromProfileId
|
||||
* @param toProfileId
|
||||
*/
|
||||
public removeFromIgnoreList(fromProfileId: string, toProfileId: string): void {
|
||||
const playerRelations = this.fikaPlayerRelationsCacheService.getStoredValue(fromProfileId);
|
||||
|
||||
if (!playerRelations.Ignore.includes(toProfileId)) {
|
||||
return;
|
||||
}
|
||||
|
||||
playerRelations.Ignore.splice(playerRelations.Ignore.indexOf(toProfileId), 1);
|
||||
this.fikaPlayerRelationsCacheService.storeValue(fromProfileId, playerRelations);
|
||||
|
||||
let profile: ISptProfile = this.saveServer.getProfile(fromProfileId);
|
||||
this.webSocketHandler.sendMessage(toProfileId, {
|
||||
type: "youAreRemoveFromIgnoreList",
|
||||
eventId: "youAreRemoveFromIgnoreList",
|
||||
_id: fromProfileId,
|
||||
profile: {
|
||||
_id: profile.info.id,
|
||||
aid: profile.info.aid,
|
||||
Info: {
|
||||
Nickname: profile.characters.pmc.Info.Nickname,
|
||||
Side: profile.characters.pmc.Info.Side,
|
||||
Level: profile.characters.pmc.Info.Level,
|
||||
MemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
SelectedMemberCategory: profile.characters.pmc.Info.MemberCategory,
|
||||
Ignored: false,
|
||||
Banned: profile.characters.pmc.Info.BannedState,
|
||||
},
|
||||
},
|
||||
} as any);
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
import { DependencyContainer } from "tsyringe";
|
||||
|
||||
import { IPreSptLoadModAsync } from "@spt/models/external/IPreSptLoadModAsync";
|
||||
import { IPostSptLoadModAsync } from "@spt/models/external/IPostSptLoadModAsync";
|
||||
|
||||
import { Fika } from "./Fika";
|
||||
import { Container } from "./di/Container";
|
||||
|
||||
class Mod implements IPreSptLoadModAsync, IPostSptLoadModAsync {
|
||||
public async preSptLoadAsync(container: DependencyContainer): Promise<void> {
|
||||
Container.register(container);
|
||||
|
||||
await container.resolve<Fika>("Fika").preSptLoad(container);
|
||||
}
|
||||
|
||||
public async postSptLoadAsync(container: DependencyContainer): Promise<void> {
|
||||
await container.resolve<Fika>("Fika").postSptLoad(container);
|
||||
}
|
||||
}
|
||||
|
||||
export const mod = new Mod();
|
|
@ -1,18 +0,0 @@
|
|||
import { MemberCategory } from "@spt/models/enums/MemberCategory";
|
||||
|
||||
export interface IFriendRequestListResponse {
|
||||
_id: string;
|
||||
from: string;
|
||||
to: string;
|
||||
date: number;
|
||||
profile: {
|
||||
_id: string;
|
||||
aid: number;
|
||||
Info: {
|
||||
Nickname: string;
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
import { MemberCategory } from "@spt/models/enums/MemberCategory";
|
||||
|
||||
export interface IWsProfile {
|
||||
type: string;
|
||||
eventId: string;
|
||||
_id?: string;
|
||||
profile: {
|
||||
_id: string;
|
||||
aid: number;
|
||||
Info: {
|
||||
Nickname: string;
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
export enum EDedicatedStatus {
|
||||
READY = 1,
|
||||
IN_RAID = 2,
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
export enum EEFTNotificationIconType {
|
||||
Default = 0,
|
||||
Alert = 1,
|
||||
Friend = 2,
|
||||
Mail = 3,
|
||||
Note = 4,
|
||||
Quest = 5,
|
||||
Achievement = 6, // This one is broken.
|
||||
EntryPoint = 7,
|
||||
RagFair = 8,
|
||||
Hideout = 9,
|
||||
WishlistQuest = 10,
|
||||
WishlistHideout = 11,
|
||||
WishlistTrading = 12,
|
||||
WishlistEquipment = 13,
|
||||
WishlistOther = 14
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
export enum EFikaMatchEndSessionMessage {
|
||||
HOST_SHUTDOWN_MESSAGE = "host-shutdown",
|
||||
PING_TIMEOUT_MESSAGE = "ping-timeout",
|
||||
NO_PLAYERS_MESSAGE = "no-players",
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
export enum EFikaMatchStatus {
|
||||
LOADING = 0,
|
||||
IN_GAME = 1,
|
||||
COMPLETE = 2,
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
export enum EFikaNotifications {
|
||||
KeepAlive = 0,
|
||||
StartedRaid = 1,
|
||||
SentItem = 2,
|
||||
PushNotification = 3
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
export enum EFikaPlayerPresences {
|
||||
IN_MENU = 0,
|
||||
IN_RAID = 1,
|
||||
IN_STASH = 2,
|
||||
IN_HIDEOUT = 3,
|
||||
IN_FLEA = 4,
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
export enum EFikaSide {
|
||||
PMC = 0,
|
||||
Savage = 1,
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
export enum EFikaTime {
|
||||
CURR = 0,
|
||||
PAST = 1,
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
import { IFriendRequestListResponse } from "../eft/dialog/IFriendRequestListResponse";
|
||||
|
||||
export interface IFikaFriendRequests extends Omit<IFriendRequestListResponse, "profile"> {}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue