CallofDutyInfiniteWarfareZombies.asl 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. state("iw7_ship") // Base Address : 0x7FF6EBF60000
  2. {
  3. int CurrentRound : 0x1FAB484;
  4. byte Loader : 0x5D65B77;
  5. string100 CurrentLevelName : 0x21E5F3C;
  6. }
  7. // iw7_ship.exe+5D168E4, extra just in case
  8. init
  9. {
  10. vars.doneMaps = new List<string>();
  11. vars.CurRoundToString = "";
  12. vars.DoSplit = 0;
  13. }
  14. startup
  15. {
  16. settings.Add("RS", true, "Split Every Round?");
  17. settings.Add("SS", true, "Call of Duty WW2 Zombies");
  18. vars.missions = new Dictionary<string,string>
  19. {
  20. {"5", "5"},
  21. {"10", "10"},
  22. {"15", "15"},
  23. {"20", "20"},
  24. {"25", "25"},
  25. {"30", "30"},
  26. {"35", "35"},
  27. {"40", "40"},
  28. {"45", "45"},
  29. {"50", "50"},
  30. {"55", "55"},
  31. {"60", "60"},
  32. {"65", "65"},
  33. {"70", "70"},
  34. {"75", "75"},
  35. {"80", "80"},
  36. {"85", "85"},
  37. {"90", "90"},
  38. {"95", "95"},
  39. {"100", "100"},
  40. };
  41. foreach (var Tag in vars.missions)
  42. {
  43. settings.Add(Tag.Key, true, Tag.Value, "SS");
  44. };
  45. }
  46. update
  47. {
  48. vars.CurRoundToString = current.CurrentRound.ToString();
  49. if (settings["RS"])
  50. {
  51. if ((current.CurrentRound != old.CurrentRound) && (!vars.doneMaps.Contains(vars.CurRoundToString)))
  52. {
  53. vars.doneMaps.Add(vars.CurRoundToString);
  54. vars.DoSplit = 1;
  55. }
  56. }
  57. else
  58. {
  59. if (settings[vars.CurRoundToString] && (!vars.doneMaps.Contains(vars.CurRoundToString)))
  60. {
  61. vars.doneMaps.Add(vars.CurRoundToString);
  62. vars.DoSplit = 1;
  63. }
  64. }
  65. }
  66. start
  67. {
  68. return (current.Loader != 0 && current.CurrentLevelName != "cp_frontend");
  69. }
  70. onStart
  71. {
  72. vars.doneMaps.Add(vars.CurRoundToString);
  73. }
  74. split
  75. {
  76. if (vars.DoSplit == 1)
  77. {
  78. vars.DoSplit = 0;
  79. return true;
  80. }
  81. }
  82. reset
  83. {
  84. return (current.CurrentLevelName == "cp_frontend");
  85. }
  86. onReset
  87. {
  88. vars.doneMaps.Clear();
  89. }