安装 Steam
登录
|
语言
繁體中文(繁体中文)
日本語(日语)
한국어(韩语)
ไทย(泰语)
български(保加利亚语)
Čeština(捷克语)
Dansk(丹麦语)
Deutsch(德语)
English(英语)
Español-España(西班牙语 - 西班牙)
Español - Latinoamérica(西班牙语 - 拉丁美洲)
Ελληνικά(希腊语)
Français(法语)
Italiano(意大利语)
Bahasa Indonesia(印度尼西亚语)
Magyar(匈牙利语)
Nederlands(荷兰语)
Norsk(挪威语)
Polski(波兰语)
Português(葡萄牙语 - 葡萄牙)
Português-Brasil(葡萄牙语 - 巴西)
Română(罗马尼亚语)
Русский(俄语)
Suomi(芬兰语)
Svenska(瑞典语)
Türkçe(土耳其语)
Tiếng Việt(越南语)
Українська(乌克兰语)
报告翻译问题




// shared helper variables
create("Var", "H1", 0);
create("Var", "H2", 0);
create("Var", "H3", 0);
create("Var", "Sc", 0);
create("Var", "fk", 0);
create("Var", "s", "");
////
// all variables for first set of hunters
create("Var", "hunter1Preset", "HMC Infest"); // preset used for hunters
create("Var", "hunter1Spawnrate"); // spawnrate for hunters in seconds
create("Var", "hunter1SpawnrateLeft"); // spawnrate left until new hunters will be spawned
create("Var", "hunter1SpawnAmount"); // amount of hunters spawned per "killerSpawnrate"
create("Var", "hunter1PosMax", 0); // amount of available spawn positions for hunters
// find all available hunter spawn positions (must be named "pH1sX" where "X" is an sequential id starting at 0; for example: "pSh0")
H1.set(0);
while(!=(H1.get(), -1))
if(exists(+("pH1s", H1.get())))
H1.+=(1);
hunter1PosMax.set(H1.get());
else
H1.set(-1);
end // if
end // while
create("Var", "hunter1PAmount"); // parameter for "hordefight-hunters1.txt"
////
// all variables for second set of hunters
create("Var", "hunter2Preset", "HMC Infest"); // preset used for hunters
create("Var", "hunter2Spawnrate"); // spawnrate for hunters in seconds
create("Var", "hunter2SpawnrateLeft"); // spawnrate left until new hunters will be spawned
create("Var", "hunter2SpawnAmount"); // amount of hunters spawned per "killerSpawnrate"
create("Var", "hunter2PosMax", 0); // amount of available spawn positions for hunters
// find all available hunter spawn positions (must be named "pH2sX" where "X" is an sequential id starting at 0; for example: "pSh0")
H2.set(0);
while(!=(H2.get(), -1))
if(exists(+("pH2s", H2.get())))
H2.+=(1);
hunter2PosMax.set(H2.get());
else
H2.set(-1);
end // if
end // while
create("Var", "hunter2PAmount"); // parameter for "hordefight-hunters2.txt"
////
// all variables for third set of hunters
create("Var", "hunter3Preset", "HMC Infest"); // preset used for hunters
create("Var", "hunter3Spawnrate"); // spawnrate for hunters in seconds
create("Var", "hunter3SpawnrateLeft"); // spawnrate left until new hunters will be spawned
create("Var", "hunter3SpawnAmount"); // amount of hunters spawned per "killerSpawnrate"
create("Var", "hunter3PosMax", 0); // amount of available spawn positions for hunters
// find all available hunter spawn positions (must be named "pH3sX" where "X" is an sequential id starting at 0; for example: "pSh0")
H3.set(0);
while(!=(H3.get(), -1))
if(exists(+("pH3s", H3.get())))
H3.+=(1);
hunter3PosMax.set(H3.get());
else
H3.set(-1);
end // if
end // while
create("Var", "hunter3PAmount"); // parameter for "hordefight-hunters3.txt"
////
// all variables for scorpions
create("Var", "scorpionPreset", "Scorpion (Infected)"); // preset used for scorpions
create("Var", "scorpionSpawnrate"); // spawnrate for scorpion in seconds
create("Var", "scorpionSpawnrateLeft"); // spawnrate left until new scorpions will be spawned
create("Var", "scorpionSpawnAmount"); // amount of scorpions spawned per "killerSpawnrate"
create("Var", "scorpionPosMax", 0); // amount of available spawn positions for scorpions
// find all available scorpion spawn positions (must be named "pScX" where "X" is an sequential id starting at 0; for example: "pSh0")
Sc.set(0);
while(!=(Sc.get(), -1))
if(exists(+("pSc", Sc.get())))
Sc.+=(1);
scorpionPosMax.set(Sc.get());
else
Sc.set(-1);
end // if
end // while
////
// all variables for firecrackers
create("Var", "firecrackerPreset", "Firecracker"); // preset used for firecrackers
create("Var", "firecrackerSpawnrate"); // spawnrate for firecrackers in seconds
create("Var", "firecrackerSpawnrateLeft"); // spawnrate left until new firecrackers will be spawned
create("Var", "firecrackerSpawnAmount"); // amount of firecrackers spawned per "firecrackerSpawnrate"
create("Var", "firecrackerPosMax", 0); // amount of available spawn positions for firecrackers
// find all available obstacle spawn positions (must be named "pFcX" where "X" is an sequential id starting at 0; for example: "pKi0")
fk.set(0);
while(!=(fk.get(), -1))
if(exists(+("pFc", fk.get())))
fk.+=(1);
firecrackerPosMax.set(fk.get());
else
fk.set(-1);
end // if
end // while
create("Var", "firecrackerPAmount"); // parameter for "spawnfirecrackers.txt"
// horde progress
create("Var", "time", 0);
////
// variables that are needed to kill all enemies when it's time for the boss fight and to pause the game for a short period of time
create("Var", "lastEnemyId", 0);
create("Var", "enemyName", "");
create("Var", "arenaDelay", 0);
wait(120);
startThread("hordefight.txt");
// unlock more and more spawns over time
if(==(time.get(), 0))
// block hunter1
hunter1SpawnAmount.set(0);
// block hunter2
hunter2SpawnAmount.set(0);
// block hunter3
hunter3SpawnAmount.set(0);
// block hunter3
scorpionMax.set(0);
// block hunter3
firecrackerSpawnAmount.set(0);
end // if
if(==(time.get(), 1))
// unlock hunter1 after 1 seconds
hunter1SpawnAmount.set(2);
hunter1Spawnrate.set(3);
hunter1SpawnrateLeft.set(0);
end // if
if(==(time.get(), 5))
// increase hunter1 amount
hunter1SpawnAmount.set(4);
hunter1Spawnrate.set(4);
end // if
if(==(time.get(), 14))
// unlock hunter2 after 6 seconds
hunter2SpawnAmount.set(1);
hunter2Spawnrate.set(2);
hunter2SpawnrateLeft.set(0);
end // if
if(==(time.get(), 15))
// increase obstacles
hunter2Spawnrate.set(30);
// unlock hunter3 after 15 seconds
hunter3SpawnAmount.set(4);
hunter3Spawnrate.set(16);
hunter3SpawnrateLeft.set(0);
end // if
if(==(time.get(), 30))
// increase hunter1 amount
hunter1SpawnAmount.set(2);
hunter1Spawnrate.set(3);
// unlock scorpion
scorpionSpawnAmount.set(1);
scorpionSpawnrate.set(12);
scorpionSpawnrateLeft.set(0);
end // if
if(==(time.get(), 55))
// increase scorpion amount
scorpionSpawnAmount.set(2);
scorpionSpawnrate.set(16);
end // if
if(==(time.get(), 60))
// increase hunter1 amount
hunter1SpawnAmount.set(3);
hunter1Spawnrate.set(3);
end // if
if(==(time.get(), 75))
// increase hunter1 amount
hunter1SpawnAmount.set(3);
hunter1Spawnrate.set(2);
hunter3SpawnAmount.set(6);
hunter3Spawnrate.set(5);
end // if
if(==(time.get(), 79))
// unlock firecrackers
firecrackerSpawnAmount.set(4);
firecrackerSpawnrate.set(1);
end // if
if(>=(time.get(), 85))
// End horde, start boss fight.
startThread( "preboss.txt" );
end // if
// killers are unlocked
if(>(hunter1SpawnrateLeft.get(), 0))
// killer delay running, lower it and do nothing
hunter1SpawnrateLeft.-=(1);
else
// new killers can be spawned, perpare parameters for thread "spawnKillers.txt"
hunter1PAmount.set(hunter1SpawnAmount.get());
startThread("hordefight-hunters1.txt");
// reset delay
hunter1SpawnrateLeft.set(hunter1Spawnrate.get());
end // if
end // if
// killers are unlocked
if(>(scorpionSpawnrateLeft.get(), 0))
// killer delay running, lower it and do nothing
scorpionSpawnrateLeft.-=(1);
else
// new killers can be spawned, perpare parameters for thread "spawnKillers.txt"
scorpionPAmount.set(scorpionSpawnAmount.get());
startThread("hordefight-scorpions.txt");
// reset delay
scorpionSpawnrateLeft.set(scorpionSpawnrate.get());
end // if
end // if
import("hunters2.txt"); // handle spawns for hunter set 2
import("hunters3.txt"); // handle spawns for hunter set 3
create("Var", "amount", hunter1PAmount.get(), "local");
create("Var", "pos", 0, 0, "local");
// loop until every required hunter1 is spwaned
while(>(amount.get(), 0))
// select a random position for each hunter1
pos.set(asCode(+("pH1s", math.rnd(hunter1PosMax.get()))).getPos());
// add some "fuzziness" so not all hunter1s spawn on top of each other
pos.setAt(0, +(-(pos.get(0), 75), math.rnd(75)));
pos.setAt(1, +(-(pos.get(1), 75), math.rnd(75)));
// build name for hunter1 as it needs to be assigned to the global enemy spawner "eSp" (see "lanes.txt")
lastEnemyId.+=(1);
enemyName.set(+("e", lastEnemyId.get()));
// spawn hunter1
create("Enemy", enemyName.get(), hunter1Preset.get(), pos.get());
// assign hunter1 to the global enemy spawner
enemyName.asCode().assignToSpawner("eSp");
// one less hunter1 to spawn
amount.-=(1);
// wait a little bit
wait(16);
end // while
create("Var", "amount", scorpionPAmount.get(), "local");
create("Var", "pos", 0, 0, "local");
// loop until every required scorpion is spwaned
while(>(amount.get(), 0))
// select a random position for each scorpion
pos.set(asCode(+("pSc", math.rnd(scorpionPosMax.get()))).getPos());
// add some "fuzziness" so not all scorpions spawn on top of each other
pos.setAt(0, +(-(pos.get(0), 75), math.rnd(75)));
pos.setAt(1, +(-(pos.get(1), 75), math.rnd(75)));
// build name for scorpion as it needs to be assigned to the global enemy spawner "eSp" (see "lanes.txt")
lastEnemyId.+=(1);
enemyName.set(+("e", lastEnemyId.get()));
// spawn scorpion
create("Enemy", enemyName.get(), scorpionPreset.get(), pos.get());
// assign scorpion to the global enemy spawner
enemyName.asCode().assignToSpawner("eSp");
// one less scorpion to spawn
amount.-=(1);
// wait a little bit
wait(16);
end // while
These are the reasons most of the time. I didn't spot any obvious problems other than the logging call yet, that will take a deeper analysis. Please let me know if turning off logging solved anything.