Advertisement
Guest User

Untitled

a guest
Jul 24th, 2014
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.25 KB | None | 0 0
  1. /*%FSM<COMPILE "D:\Programme\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, DayZ Server Cleanup">*/
  2. /*%FSM<HEAD>*/
  3. /*
  4. item0[] = {"init",0,250,-25.000000,-350.000000,75.000000,-300.000000,0.000000,"init"};
  5. item1[] = {"prepare",2,250,375.000000,-350.000000,475.000000,-300.000000,0.000000,"prepare"};
  6. item2[] = {"initialized",4,218,175.000000,-350.000000,275.000000,-300.000000,0.000000,"initialized"};
  7. item3[] = {"true",8,218,375.000000,-275.000000,475.000000,-225.000000,0.000000,"true"};
  8. item4[] = {"waiting",2,250,375.000000,-200.000000,475.000000,-150.000000,0.000000,"waiting"};
  9. item5[] = {"true",8,218,375.000000,75.000000,475.000000,125.000000,0.000000,"true"};
  10. item6[] = {"general_cleanup",2,250,375.000000,150.000000,475.000000,200.000000,0.000000,"general" \n "cleanup" \n "loop"};
  11. item7[] = {"",7,210,21.000000,170.999985,29.000000,179.000000,0.000000,""};
  12. item8[] = {"",7,210,21.000004,-254.000000,28.999998,-246.000000,0.000000,""};
  13. item9[] = {"",7,210,821.000000,-179.000000,829.000000,-171.000000,0.000000,""};
  14. item10[] = {"",7,210,821.000000,96.000000,829.000000,104.000000,0.000000,""};
  15. item11[] = {"___second_loop",4,218,50.000000,-75.000000,150.000000,-25.000000,1.000000,"3 second" \n "loop"};
  16. item12[] = {"__0s_update__obj",4,218,175.000000,-100.000000,275.000000,-50.000000,2.000000,"50s" \n "update " \n "objects"};
  17. item13[] = {"___min__loop",4,218,300.000000,-125.000000,400.000000,-75.000000,3.000000,"1 min" \n " loop"};
  18. item14[] = {"___min_loop",4,218,450.000000,-125.000000,550.000000,-75.000000,4.000000,"5 min" \n "loop"};
  19. item15[] = {"__0_min__loop",4,218,575.000000,-100.000000,675.000000,-50.000000,5.000000,"10 min" \n " loop"};
  20. item16[] = {"__5_min__loop",4,218,700.000000,-75.000000,800.000000,-25.000000,6.000000,"15 min" \n " loop"};
  21. item17[] = {"cleanup_animals",2,250,700.000000,25.000000,800.000000,75.000000,0.000000,"cleanup" \n "animals && fire"};
  22. item18[] = {"cleanup_dead",2,250,575.000000,0.000000,675.000000,50.000000,0.000000,"cleanup" \n "dead"};
  23. item19[] = {"sync_time",2,250,450.000000,-25.000000,550.000000,25.000000,0.000000,"sync time"};
  24. item20[] = {"cleanup_loot",2,250,300.000000,-25.000000,400.000000,25.000000,0.000000,"cleanup" \n "loot"};
  25. item21[] = {"group_cleanup",2,250,50.000000,25.000000,150.000000,75.000000,0.000000,"group" \n "cleanup"};
  26. item22[] = {"update_objects",2,250,175.000000,0.000000,275.000000,50.000000,0.000000,"update objects"};
  27. link0[] = {0,2};
  28. link1[] = {1,3};
  29. link2[] = {2,1};
  30. link3[] = {3,4};
  31. link4[] = {4,9};
  32. link5[] = {4,11};
  33. link6[] = {4,12};
  34. link7[] = {4,13};
  35. link8[] = {4,14};
  36. link9[] = {4,15};
  37. link10[] = {4,16};
  38. link11[] = {5,6};
  39. link12[] = {6,7};
  40. link13[] = {7,8};
  41. link14[] = {8,3};
  42. link15[] = {9,10};
  43. link16[] = {10,5};
  44. link17[] = {11,21};
  45. link18[] = {12,22};
  46. link19[] = {13,20};
  47. link20[] = {14,19};
  48. link21[] = {15,18};
  49. link22[] = {16,17};
  50. link23[] = {17,5};
  51. link24[] = {18,5};
  52. link25[] = {19,5};
  53. link26[] = {20,5};
  54. link27[] = {21,5};
  55. link28[] = {22,5};
  56. globals[] = {25.000000,1,0,0,0,640,480,1,136,6316128,1,-53.328339,954.791992,443.544983,-436.145996,1044,911,1};
  57. window[] = {2,-1,-1,-1,-1,912,100,1392,100,3,1062};
  58. *//*%FSM</HEAD>*/
  59. class FSM
  60. {
  61. fsmName = "DayZ Server Cleanup";
  62. class States
  63. {
  64. /*%FSM<STATE "init">*/
  65. class init
  66. {
  67. name = "init";
  68. init = /*%FSM<STATEINIT""">*/"//Major Performance Speedup by Skaronator ;)"/*%FSM</STATEINIT""">*/;
  69. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  70. class Links
  71. {
  72. /*%FSM<LINK "initialized">*/
  73. class initialized
  74. {
  75. priority = 0.000000;
  76. to="prepare";
  77. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  78. condition=/*%FSM<CONDITION""">*/"!isnil ""bis_fnc_init"""/*%FSM</CONDITION""">*/;
  79. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  80. };
  81. /*%FSM</LINK>*/
  82. };
  83. };
  84. /*%FSM</STATE>*/
  85. /*%FSM<STATE "prepare">*/
  86. class prepare
  87. {
  88. name = "prepare";
  89. init = /*%FSM<STATEINIT""">*/"diag_log (""CLEANUP: INITIALIZING CLEANUP SCRIPT"");" \n
  90. "" \n
  91. "_lastUpdate = diag_tickTime;" \n
  92. "_lastNeedUpdate = diag_tickTime;" \n
  93. "_lastCleanupVehicles = diag_tickTime;" \n
  94. "_lastCleanupGroups = diag_tickTime;" \n
  95. "_lastCleanupNull = diag_tickTime;" \n
  96. "" \n
  97. "_lastCleanup900 = diag_tickTime;" \n
  98. "" \n
  99. ""/*%FSM</STATEINIT""">*/;
  100. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  101. class Links
  102. {
  103. /*%FSM<LINK "true">*/
  104. class true
  105. {
  106. priority = 0.000000;
  107. to="waiting";
  108. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  109. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  110. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  111. };
  112. /*%FSM</LINK>*/
  113. };
  114. };
  115. /*%FSM</STATE>*/
  116. /*%FSM<STATE "waiting">*/
  117. class waiting
  118. {
  119. name = "waiting";
  120. init = /*%FSM<STATEINIT""">*/"//diag_log ""CLEANUP: Waiting for next task"";" \n
  121. ""/*%FSM</STATEINIT""">*/;
  122. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  123. class Links
  124. {
  125. /*%FSM<LINK "__5_min__loop">*/
  126. class __5_min__loop
  127. {
  128. priority = 6.000000;
  129. to="cleanup_animals";
  130. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  131. condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _lastCleanup900) > 900)"/*%FSM</CONDITION""">*/;
  132. action=/*%FSM<ACTION""">*/"_lastCleanup900 = diag_tickTime;"/*%FSM</ACTION""">*/;
  133. };
  134. /*%FSM</LINK>*/
  135. /*%FSM<LINK "__0_min__loop">*/
  136. class __0_min__loop
  137. {
  138. priority = 5.000000;
  139. to="cleanup_dead";
  140. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  141. condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _lastCleanupNull) > 600)"/*%FSM</CONDITION""">*/;
  142. action=/*%FSM<ACTION""">*/"_lastCleanupNull = diag_tickTime;"/*%FSM</ACTION""">*/;
  143. };
  144. /*%FSM</LINK>*/
  145. /*%FSM<LINK "___min_loop">*/
  146. class ___min_loop
  147. {
  148. priority = 4.000000;
  149. to="sync_time";
  150. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  151. condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _lastUpdate) > 300)"/*%FSM</CONDITION""">*/;
  152. action=/*%FSM<ACTION""">*/"_lastUpdate = diag_tickTime;"/*%FSM</ACTION""">*/;
  153. };
  154. /*%FSM</LINK>*/
  155. /*%FSM<LINK "___min__loop">*/
  156. class ___min__loop
  157. {
  158. priority = 3.000000;
  159. to="cleanup_loot";
  160. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  161. condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _lastCleanupVehicles) > 60)"/*%FSM</CONDITION""">*/;
  162. action=/*%FSM<ACTION""">*/"_lastCleanupVehicles = diag_tickTime;"/*%FSM</ACTION""">*/;
  163. };
  164. /*%FSM</LINK>*/
  165. /*%FSM<LINK "__0s_update__obj">*/
  166. class __0s_update__obj
  167. {
  168. priority = 2.000000;
  169. to="update_objects";
  170. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  171. condition=/*%FSM<CONDITION""">*/"(( (count needUpdate_objects) > 0) && (diag_tickTime -_lastNeedUpdate> 50))"/*%FSM</CONDITION""">*/;
  172. action=/*%FSM<ACTION""">*/"_lastNeedUpdate = diag_tickTime;"/*%FSM</ACTION""">*/;
  173. };
  174. /*%FSM</LINK>*/
  175. /*%FSM<LINK "___second_loop">*/
  176. class ___second_loop
  177. {
  178. priority = 1.000000;
  179. to="group_cleanup";
  180. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  181. condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _lastCleanupGroups) > 3)"/*%FSM</CONDITION""">*/;
  182. action=/*%FSM<ACTION""">*/"_lastCleanupGroups = diag_tickTime;"/*%FSM</ACTION""">*/;
  183. };
  184. /*%FSM</LINK>*/
  185. /*%FSM<LINK "true">*/
  186. class true
  187. {
  188. priority = 0.000000;
  189. to="general_cleanup";
  190. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  191. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  192. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  193. };
  194. /*%FSM</LINK>*/
  195. };
  196. };
  197. /*%FSM</STATE>*/
  198. /*%FSM<STATE "general_cleanup">*/
  199. class general_cleanup
  200. {
  201. name = "general_cleanup";
  202. init = /*%FSM<STATEINIT""">*/"//diag_log ""CLEANUP: Starting loop for next task"";" \n
  203. ""/*%FSM</STATEINIT""">*/;
  204. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  205. class Links
  206. {
  207. /*%FSM<LINK "true">*/
  208. class true
  209. {
  210. priority = 0.000000;
  211. to="waiting";
  212. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  213. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  214. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  215. };
  216. /*%FSM</LINK>*/
  217. };
  218. };
  219. /*%FSM</STATE>*/
  220. /*%FSM<STATE "cleanup_animals">*/
  221. class cleanup_animals
  222. {
  223. name = "cleanup_animals";
  224. init = /*%FSM<STATEINIT""">*/"[] spawn server_spawnCleanFire;" \n
  225. "[] spawn server_spawnCleanAnimals;"/*%FSM</STATEINIT""">*/;
  226. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  227. class Links
  228. {
  229. /*%FSM<LINK "true">*/
  230. class true
  231. {
  232. priority = 0.000000;
  233. to="general_cleanup";
  234. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  235. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  236. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  237. };
  238. /*%FSM</LINK>*/
  239. };
  240. };
  241. /*%FSM</STATE>*/
  242. /*%FSM<STATE "cleanup_dead">*/
  243. class cleanup_dead
  244. {
  245. name = "cleanup_dead";
  246. init = /*%FSM<STATEINIT""">*/"[] spawn server_spawncleanDead;"/*%FSM</STATEINIT""">*/;
  247. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  248. class Links
  249. {
  250. /*%FSM<LINK "true">*/
  251. class true
  252. {
  253. priority = 0.000000;
  254. to="general_cleanup";
  255. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  256. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  257. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  258. };
  259. /*%FSM</LINK>*/
  260. };
  261. };
  262. /*%FSM</STATE>*/
  263. /*%FSM<STATE "sync_time">*/
  264. class sync_time
  265. {
  266. name = "sync_time";
  267. init = /*%FSM<STATEINIT""">*/"if (DZE_DiagFpsSlow) then {" \n
  268. " call dze_diag_fps;" \n
  269. "};" \n
  270. "call server_timeSync;"/*%FSM</STATEINIT""">*/;
  271. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  272. class Links
  273. {
  274. /*%FSM<LINK "true">*/
  275. class true
  276. {
  277. priority = 0.000000;
  278. to="general_cleanup";
  279. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  280. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  281. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  282. };
  283. /*%FSM</LINK>*/
  284. };
  285. };
  286. /*%FSM</STATE>*/
  287. /*%FSM<STATE "cleanup_loot">*/
  288. class cleanup_loot
  289. {
  290. name = "cleanup_loot";
  291. init = /*%FSM<STATEINIT""">*/"if (DZE_DiagFpsFast) then {" \n
  292. " call dze_diag_fps;" \n
  293. "};" \n
  294. "" \n
  295. "[] spawn server_spawnCleanLoot;" \n
  296. "" \n
  297. "// set player save time based on server performance" \n
  298. "PVDZE_plr_SetSaveTime = round(60 - diag_fps);" \n
  299. "publicVariable ""PVDZE_plr_SetSaveTime"";"/*%FSM</STATEINIT""">*/;
  300. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  301. class Links
  302. {
  303. /*%FSM<LINK "true">*/
  304. class true
  305. {
  306. priority = 0.000000;
  307. to="general_cleanup";
  308. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  309. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  310. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  311. };
  312. /*%FSM</LINK>*/
  313. };
  314. };
  315. /*%FSM</STATE>*/
  316. /*%FSM<STATE "group_cleanup">*/
  317. class group_cleanup
  318. {
  319. name = "group_cleanup";
  320. init = /*%FSM<STATEINIT""">*/"[] spawn server_checkHackers;" \n
  321. "[] spawn server_cleanupGroups;"/*%FSM</STATEINIT""">*/;
  322. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  323. class Links
  324. {
  325. /*%FSM<LINK "true">*/
  326. class true
  327. {
  328. priority = 0.000000;
  329. to="general_cleanup";
  330. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  331. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  332. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  333. };
  334. /*%FSM</LINK>*/
  335. };
  336. };
  337. /*%FSM</STATE>*/
  338. /*%FSM<STATE "update_objects">*/
  339. class update_objects
  340. {
  341. name = "update_objects";
  342. init = /*%FSM<STATEINIT""">*/"{" \n
  343. " needUpdate_objects = needUpdate_objects - [_x];" \n
  344. " [_x,""damage"",true] call server_updateObject;" \n
  345. "} count needUpdate_objects;"/*%FSM</STATEINIT""">*/;
  346. precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
  347. class Links
  348. {
  349. /*%FSM<LINK "true">*/
  350. class true
  351. {
  352. priority = 0.000000;
  353. to="general_cleanup";
  354. precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
  355. condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
  356. action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
  357. };
  358. /*%FSM</LINK>*/
  359. };
  360. };
  361. /*%FSM</STATE>*/
  362. };
  363. initState="init";
  364. finalStates[] =
  365. {
  366. };
  367. };
  368. /*%FSM</COMPILE>*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement