Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define DEBUG
- world {
- fps = 11;
- icon_size = 32;
- view = 6;
- }
- var/inforloop = 0;
- var/stopbruteforce = 0;
- var/list/obj/testingobj/objects = list();
- var/runcount = 0;
- mob {
- verb/startforloopbruteforce() {
- set name="Start For Loop Brute force.";
- set category="ForLoop";
- world << "starting brute force";
- stopbruteforce = 1;
- spawn(5)
- forlooptest1();
- }
- verb/stoploopbruteforce() {
- set name="Stop For Loop Brute force.";
- set category="ForLoop";
- world << "stopping brute force";
- stopbruteforce = 1;
- }
- proc/forlooptest1() {
- set background=1;
- stopbruteforce = 0;
- inforloop = 0;
- runcount = 0;
- world << "brute force started";
- while (1) {
- forlooptest2();
- if (inforloop) {
- world << "runtime detected. restarting. Ran [runcount] times.";
- spawn(10)
- if (!stopbruteforce)
- forlooptest1();
- return;
- }
- if (stopbruteforce) {
- inforloop = 0;
- world << "brute force stopped. Ran [runcount] times";
- return;
- }
- runcount++;
- if ((runcount % 10000) == 0) {
- world << "at runcount number [runcount]";
- sleep(0); //sleep every 10000 runs so the stop runcount verb actually works.
- }
- }
- }
- proc/forlooptest2() {
- set background=1;
- inforloop = 1;
- for (var/thing in objects)
- del(thing);
- objects = list();
- for(var/i=0; i<100; i++)
- new /obj/testingobj();
- for (var/obj/testingobj/O in objects) {
- if (O.blah != 1) {
- world << "blah ISN'T 1, WHY IS blah NOT 1!!"; //technically, this should never happen
- stopbruteforce = 1;
- break;
- }
- }
- inforloop = 0;
- }
- }
- obj/testingobj {
- var/blah = 1;
- New() {
- objects += src;
- }
- Del() {
- objects -= src;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement