Author Topic: White Bots in Gamemode  (Read 3071 times)

For some reason my gamemode produces fully white bots. They function correctly, and as you can see the body parts are correct. The first 3 bots seem to be colored correctly, and then any others are white.

I don't know what kind of help you're expecting without any information about how you're using setNodeColor. Make sure you don't pass "1 1 1 1" to it?

I don't know what kind of help you're expecting without any information about how you're using setNodeColor. Make sure you don't pass "1 1 1 1" to it?
No, no it's set through events. onBotSpawn -> ... -> setAppearance -> Custom. If I start a server via the Custom Gamemode they work fine, and have the correct body colors.

Which add-ons are you using? If you're using any custom code, paste anything that may be relevant here.

Did you try to trace it and see what could be possibly converting the colors?

No, no it's set through events. onBotSpawn -> ... -> setAppearance -> Custom. If I start a server via the Custom Gamemode they work fine, and have the correct body colors.

Post your gamemode.txt.

No, no it's set through events. onBotSpawn -> ... -> setAppearance -> Custom. If I start a server via the Custom Gamemode they work fine, and have the correct body colors.
You're still providing us with next to no information. You can't work backwards with absolutely no information; it's like giving us the number 317 and asking how you got to it.

Post more info; your gamemode.txt, any code related to bot spawning, etc.

Code: [Select]
//Add-Ons to load
ADDON Support_Player_Persistence
ADDON Gamemode_Adventure

ADDON Bot_Blockhead
ADDON Bot_Hole
ADDON Bot_Horse
ADDON Bot_Shark
ADDON Bot_Zombie
ADDON Brick_2x2FRoundPrint
ADDON Brick_4x4f_PrintPlate
ADDON Brick_Arch
ADDON Brick_BarnaWindows
ADDON Brick_Checkpoint
ADDON Brick_Doors
ADDON Brick_ExtraRamps
ADDON Brick_HorizPoles
ADDON Brick_Interactive
ADDON Brick_InvertedCorners
ADDON Brick_Large_Cubes
ADDON Brick_ModTer_4xPack
ADDON Brick_ModTer_BasicPack
ADDON Brick_ModTer_InvertedPack
ADDON Brick_Plant
ADDON Brick_PoleAdapters
ADDON Brick_PrintPlatesCeiling
ADDON Brick_Teledoor
ADDON Brick_Treasure_Chest
ADDON Brick_V15
ADDON Brick_VerticalPlatePack
ADDON Brick_Zones
ADDON Client_MoveInputDetect
ADDON Emote_Alarm
ADDON Emote_Confusion
ADDON Emote_Hate
ADDON Emote_Love
ADDON Event_playSound
ADDON Event_setEventTimeout
ADDON Event_Zones
ADDON Item_Key
ADDON Light_Animated
ADDON Light_Basic
ADDON Particle_Basic
ADDON Particle_FX_Cans
ADDON Particle_Grass
ADDON Particle_Player
ADDON Particle_Tools
ADDON Player_Adventure
ADDON Player_Fluidity
ADDON Player_No_Jet
ADDON Player_PhysicsJump
ADDON Print_1x2f_BLPRemote
ADDON Print_1x2f_Default
ADDON Print_2x2f_Default
ADDON Print_2x2r_Default
ADDON Print_Letters_Default
ADDON Print_ModTer_Default
ADDON Projectile_GravityRocket
ADDON Projectile_Pinball
ADDON Projectile_Pong
ADDON Projectile_Radio_Wave
ADDON Script_QuickExecute
ADDON Server_DropItemOnDeath
ADDON Server_Info
ADDON Server_PhysicsDeath
ADDON Sound_Beeps
ADDON Sound_Phone
ADDON Sound_Synth4
ADDON Support_Doors
ADDON Support_Footsteps
ADDON Support_HitLocation
ADDON Support_LegacyDoors
ADDON Vehicle_Ball
ADDON Vehicle_Horse
ADDON Vehicle_Jeep
ADDON Vehicle_Tank
ADDON Weapon_ActionMelee
ADDON Weapon_Assault_Rifle
ADDON Weapon_DoubleBarrelShotgun
ADDON Weapon_GrenadeLauncher
ADDON Weapon_Gun
ADDON Weapon_Guns_Akimbo
ADDON Weapon_HEGrenade
ADDON Weapon_HomingLaser
ADDON Weapon_Mac10
ADDON Weapon_P90_pack
ADDON Weapon_Push_Broom
ADDON Weapon_Remmington700
ADDON Weapon_Rocket_Launcher
ADDON Weapon_SFRevolver
ADDON Weapon_Shotgun
ADDON Weapon_SMG

//Music

//Environment
$EnvGuiServer::SimpleMode 1
$EnvGuiServer::SkyFile Add-Ons/Sky_TF2/Trainyard.dml
$EnvGuiServer::WaterFile NONE
$EnvGuiServer::GroundFile Add-Ons/Ground_Plate/plate.ground
$EnvGuiServer::VignetteColor ""

//Minigame Prefs
$MiniGame::Enabled 1
$MiniGame::GameColor 1
$MiniGame::InviteOnly 0
$MiniGame::IncludeAllPlayersBricks 1
$MiniGame::PlayersUseOwnBricks 0

$MiniGame::Points_BreakBrick 0
$MiniGame::Points_PlantBrick 0
$MiniGame::Points_KillPlayer 0
$MiniGame::Points_KillSelf 0
$MiniGame::Points_Die 0
   
$MiniGame::RespawnTime 1
$MiniGame::BotRespawnTime 15
$MiniGame::VehicleRespawnTime 5
$MiniGame::BrickRespawnTime 5

$MiniGame::UseSpawnBricks 1
$MiniGame::FallingDamage 1
$MiniGame::WeaponDamage 1
$MiniGame::SelfDamage 1
$MiniGame::VehicleDamage 1
$MiniGame::BotDamage 1
$MiniGame::BrickDamage 0
$MiniGame::EnableWand 0
$MiniGame::EnableBuilding 0
$MiniGame::EnablePainting 0

$MiniGame::PlayerDataBlockName Adventure Player

$MiniGame::StartEquipName0 Gun
$MiniGame::StartEquipName1 Action Melee
$MiniGame::StartEquipName2 0
$MiniGame::StartEquipName3 0
$MiniGame::StartEquipName4 0

//Server Prefs
$Server::BrickRespawnTime 1000
$Server::ClearEventsOnClientExit 0
$Server::GhostLimit 262144
$Server::MaxBricksPerSecond 1000
$Server::MaxPhysVehicles_Total 20
$Server::MaxPlayerVehicles_Total 200
$Server::Quota::Environment 5000
$Server::Quota::Item 100
$Server::Quota::Misc 3000
$Server::Quota::Player 100
$Server::Quota::Projectile 200
$Server::Quota::Schedules 1000
$Server::Quota::Vehicle 100
$Server::QuotaLAN::Environment 5000
$Server::QuotaLAN::Item 100
$Server::QuotaLAN::Misc = 3000
$Server::QuotaLAN::Player 100
$Server::QuotaLAN::Projectile 200
$Server::QuotaLAN::Schedules 1000
$Server::QuotaLAN::Vehicle 100
$Server::WelcomeMessage \c6Welcome to Blockland, \c2%1\c6. Type \c0/Info\c6.
$Server::WrenchEventsAdminOnly 1

//Gamemode Prefs
$GameMode::BrickOwnership Host

You're certain that when you tried it in custom, you used the exact same add-ons? A console trace over the span of time where they spawn would be the most effective, since nobody is gonna install all those add-ons to try it themselves. If I were to take a wild shot in the dark guess from the add-ons list alone, maybe Script_HitLocations, since I've known some scripts like that to work by shooting a paint projectile at the player and seeing what part gets colored.

On an unrelated note, you apparently have a client add-on in there.

On another unrelated note, is this actually a coding help topic? Without any actual code to fix it feels like a normal add-on conflict help thread wearing the skin of coding help.

You're certain that when you tried it in custom, you used the exact same add-ons? A console trace over the span of time where they spawn would be the most effective, since nobody is gonna install all those add-ons to try it themselves. If I were to take a wild shot in the dark guess from the add-ons list alone, maybe Script_HitLocations, since I've known some scripts like that to work by shooting a paint projectile at the player and seeing what part gets colored.
Just tried in Custom with the same add-ons on an otherwise clean install of Bl and had no problems. The Gamemode, however, still produces the white bots.

[Edit] Let me point out again that the first few bots are colored perfectly.
« Last Edit: April 11, 2015, 01:12:11 PM by tommybricksetti »

Get a console trace of a white bot spawning. We can see exactly what packages are affecting the coloring functions.

Get a console trace of a white bot spawning. We can see exactly what packages are affecting the coloring functions.
Trace looks fine. I think it's hitting some kind of quota, which is why it only happens after the first 3.

Trace looks fine.
Well okay, if you say so. Everyone go home; the console trace, that is the exact sequence of functions and packages the game runs through, specifically the parts surrounding the exact function where the issue might lie, is "fine." Sounds to me like a ringing endorsement for the current state of affairs.

Why are you like, upset. Calm down.

Why are you like, upset. Calm down.
I don't like playing "guess what's broken" with someone who isn't giving the proper information.

I started to think you might be right about the quota, specifically the schedule quota. Would explain everything, including why it behaves differently in custom, but I noticed you have that set to 1000 in your gamemode. Still worth investigating to see if it might be acting up or not set properly, though. Try respawning/gunning down a single white bot or two to see if it works right when they're not spawned all at once. Also you could echo $Server::Quota::Schedules in-game to see if it's set right. And just to be sure, your build doesn't have some event contraption that uses 995 events at once, right? Could be something taking up the schedule quota right as the server starts. Not sure how the quota objects work, but you might try GlobalQuota.dumpAllocs() right as the server starts, where you put that trace activating package.
« Last Edit: April 11, 2015, 04:50:32 PM by -Jetz- »