monitorStances() and testBarrett() should run after "spawned_player" notify. Like there:Code:testBarrett() { self endon("death"); self endon("disconnect"); weapon = self getCurrentWeapon(); weaponDisabled = false; for(;;) { if(isSubStr(weapon, "barrett") && !weaponDisabled) { self allowADS(false); self allowJump(false); self allowSprint(false); self disableUsability(); weaponDisabled = true; self thread monitorBarrett(); } else if(!isSubStr(weapon, "barrett") && weaponDisabled) { self allowADS(true); self allowJump(true); self allowSprint(true); self enableUsability(); weaponDisabled = false; } self waittill("weapon_change", weapon); } } monitorBarrett() { self endon("death"); self endon("disconnect"); self endon("weapon_change"); for(;;) { self waittill("stance_changed", st); if(st != "prone") { self allowADS(false); } else { self allowADS(true); } } } monitorStances() { self endon("death"); self endon("disconnect"); stance = self getStance(); for(;;) { while(self getStance() == stance) wait(0.05); stance = self getStance(); self notify("stance_changed", stance); } }
Tell me if this will work.Code:actSpawn() { self endon("disconnect"); for(;;) { self waittill("spawned_player"); self thread testBarrett(); } }