So I tried to update my screeps script and well.. uhm.. something went wrong, because my autospawner code is stuck in a loop. I'm still fairly new to JavaScript so it's probably some stupid mistake I made. What I have tried to do is to get a Reference error for what is wrong by adding a console.log to the if statement... got nothing except for a 'upgrader spawned' message that gets spammed into my console. I'm really struggling. Pls help me!
If you need any extra info pls say so, i'm happy to provide anything that you need!
const roleHarvester = require('role.harvester');
const roleUpgrader = require('role.upgrader');
const roleBuilder = require('role.builder');
module.exports.loop = function () {
for(let name in Memory.creeps) {
if(!Game.creeps[name]) {
delete Memory.creeps[name];
}
}
//change to object
let minimum = {
NumberOfHarvesters: 3,
NumberOfUpgraders: 3,
NumberOfBuilders: 3
}
let numberOf = {
Harvesters: _.sum(Game.creeps, (c) => c.memory.role == 'harvester'),
Upgraders: _.sum(Game.creeps, (c) => c.memory.role == 'upgraders'),
Builders: _.sum(Game.creeps, (c) => c.memory.role == 'builders')
}
if (numberOf.Harvesters < 3) {
Game.spawns.Spawn1.createCreep([WORK, CARRY, CARRY, CARRY, MOVE], {role: 'harvester'})
console.log('harvester spawned');
}
else if (numberOf.Upgraders < 3) {
Game.spawns.Spawn1.createCreep([WORK, CARRY, CARRY, CARRY, MOVE], {role: 'upgrader'})
console.log('upgrader spawned');
}
else if (numberOf.Builders < 3) {
Game.spawns.Spawn1.createCreep([WORK, WORK, CARRY, MOVE], {role: 'builder'})
console.log('builder spawned');
}
else {
Game.spawns.Spawn1.createCreep([WORK, CARRY, MOVE], {role: 'upgrader'})
}
for(let name in Game.creeps) {
let creep = Game.creeps[name];
if(creep.memory.role == 'harvester') {
roleHarvester.run(creep);
}
if(creep.memory.role == 'upgrader') {
roleUpgrader.run(creep);
}
if(creep.memory.role == 'builder') {
roleBuilder.run(creep);
}
}
}
Aucun commentaire:
Enregistrer un commentaire