Advertisement
Guest User

Event.dnh

a guest
Aug 23rd, 2017
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Made by Trung0246, version 1.2
  2.  
  3. //Constant
  4. let EV_OBJ_VISIBLE = EV_USER + 1;
  5. let EV_OBJ_RENDERPIORITY = EV_USER + 2;
  6. //let EV_OBJ_TYPE = EV_USER + 3;
  7. let EV_OBJ_DELETE = EV_USER + 4;
  8. let EV_OBJ_RENDER_X = EV_USER + 5;
  9. let EV_OBJ_RENDER_Y = EV_USER + 6;
  10. let EV_OBJ_RENDER_Z = EV_USER + 7;
  11. let EV_OBJ_RENDER_ANGLEX = EV_USER + 8;
  12. let EV_OBJ_RENDER_ANGLEY = EV_USER + 9;
  13. let EV_OBJ_RENDER_ANGLEZ = EV_USER + 10;
  14. let EV_OBJ_RENDER_SCALEX = EV_USER + 11;
  15. let EV_OBJ_RENDER_SCALEY = EV_USER + 12;
  16. let EV_OBJ_RENDER_SCALEZ = EV_USER + 13;
  17. let EV_OBJ_RENDER_BLEND = EV_USER + 14;
  18. let EV_OBJ_PRIM_NEW = EV_USER + 15;
  19. let EV_OBJ_PRIM_COUNT = EV_USER + 16;
  20. let EV_OBJ_PRIM_VERTEXPOSITION = EV_USER + 17;
  21. let EV_OBJ_MESH_NEW = EV_USER + 18;
  22. let EV_OBJ_TEXT_NEW = EV_USER + 19;
  23. let EV_OBJ_TEXT_TEXTLENGTHCUL = EV_USER + 20;
  24. let EV_OBJ_TEXT_TEXTLENGTHCU = EV_USER + 21;
  25. let EV_OBJ_TEXT_TEXTLENGTH = EV_USER + 22;
  26. let EV_OBJ_SHOT_NEW = EV_USER + 23;
  27. let EV_OBJ_SHOT_DAMAGE = EV_USER + 24;
  28. let EV_OBJ_SHOT_PENETRATION = EV_USER + 25;
  29. let EV_OBJ_SHOT_DELAY = EV_USER + 26;
  30. let EV_OBJ_SHOT_SPELLRESIST = EV_USER + 27;
  31. let EV_OBJ_SHOT_IMAGEID = EV_USER + 28;
  32. let EV_OBJ_LASER_LENGTH = EV_USER + 29;
  33. let EV_OBJ_STLASER_ANGLE = EV_USER + 30;
  34. let EV_OBJ_ENEMY_NEW = EV_USER + 31;
  35. let EV_OBJ_ENEMY_LIFE = EV_USER + 32;
  36. let EV_OBJ_ENEMY_DAMAGERATE_SHOT = EV_USER + 33;
  37. let EV_OBJ_ENEMY_DAMAGERATE_SPELL = EV_USER + 34;
  38. let EV_OBJ_SPELL_NEW = EV_USER + 35;
  39. let EV_OBJ_MOVE_X = EV_USER + 36;
  40. let EV_OBJ_MOVE_Y = EV_USER + 37;
  41. let EV_OBJ_MOVE_SPEED = EV_USER + 38;
  42. let EV_OBJ_MOVE_ANGLE = EV_USER + 39;
  43. let EV_OBJ_SOUND_NEW = EV_USER + 40;
  44. let EV_OBJ_SOUND_PLAYING = EV_USER + 41;
  45. let EV_OBJ_SOUND_VOLUMERATE = EV_USER + 42;
  46. let EV_OBJ_FILE_NEW = EV_USER + 43;
  47. let EV_OBJ_FILE_SIZE = EV_USER + 44;
  48. let EV_COMMON_DATA_NEW = EV_USER + 45;
  49. let EV_COMMON_DATA_CHANGE = EV_USER + 46;
  50. let EV_COMMON_DATA_DELETE = EV_USER + 47;
  51. let EV_COMMON_DATA_AREA_NEW = EV_USER + 48;
  52. let EV_COMMON_DATA_AREA_DELETE = EV_USER + 49;
  53. let EV_COMMON_DATA_AREA_KEY_NEW = EV_USER + 50;
  54. let EV_COMMON_DATA_AREA_KEY_CHANGE = EV_USER + 51;
  55. let EV_COMMON_DATA_AREA_KEY_DELETE = EV_USER + 52;
  56.  
  57. let _EV_PAUSE_ = false;
  58. let _EV_STOP_ = false;
  59.  
  60. let COMMON_DATA_DEFAULT = "qweiunfajdsnfifowinciomxmfnewioufqcixofmxfzmcmxxqzed";
  61. let CURRRENT_EV_COUNT = EV_USER + 53;
  62.  
  63. function Event_PauseAll(bool) {
  64.     _EV_PAUSE_ = bool;
  65. }
  66. task Event_StopAll() {
  67.     _EV_STOP_ = true;
  68.     yield;
  69.     _EV_STOP_ = false;
  70. }
  71.  
  72. //Main library
  73. task Obj_Event (obj) {
  74.     let is_visible = Obj_IsVisible(obj);
  75.     let render_piority = Obj_GetRenderPriority(obj);
  76.     let render_piority_i = Obj_GetRenderPriorityI(obj);
  77.     let type = Obj_GetType(obj);
  78.     Obj_SetValue(obj, "ObjEvent_Pause", false);
  79.     Obj_SetValue(obj, "ObjEvent_Stop", false);
  80.     yield;
  81.     while (!Obj_IsDeleted(obj) && Obj_GetValueD(obj, "ObjEvent_Stop", false) == false && _EV_STOP_ == false) {
  82.         while (Obj_GetValueD(obj, "ObjEvent_Pause", false) || _EV_PAUSE_) {
  83.             yield;
  84.         }
  85.         let temp;
  86.         let temp2;
  87.         let temp3;
  88.         let temp4;
  89.         temp = Obj_IsVisible(obj);
  90.         if (is_visible != temp) {
  91.             let temp3 = [obj];
  92.             if (is_visible == true) {
  93.                 temp4 = [1];
  94.             } else {
  95.                 temp4 = [0];
  96.             }
  97.             temp3 = temp3 ~ temp4;
  98.             if (temp == true) {
  99.                 temp4 = [1];
  100.             } else {
  101.                 temp4 = [0];
  102.             }
  103.             temp3 = temp3 ~ temp4;
  104.             NotifyEventAll(EV_OBJ_VISIBLE, temp3);
  105.             is_visible = temp;
  106.         }
  107.         temp = Obj_GetRenderPriority(obj);
  108.         if (render_piority != temp) {
  109.             temp2 = Obj_GetRenderPriorityI(obj);
  110.             NotifyEventAll(EV_OBJ_RENDERPIORITY, [obj, render_piority, temp, render_piority_i, temp2]);
  111.             render_piority = temp;
  112.             render_piority_i = temp2;
  113.         }
  114.         /*temp = Obj_GetType(obj);
  115.         if (type != temp) {
  116.             NotifyEventAll(EV_OBJ_TYPE, [obj, type, temp]);
  117.             type = temp;
  118.         }*/
  119.         yield;
  120.     }
  121.     NotifyEventAll(EV_OBJ_DELETE, [obj]);
  122.     Obj_DeleteValue(obj, "ObjEvent_Pause");
  123.     Obj_DeleteValue(obj, "ObjEvent_Stop");
  124. }
  125.  
  126. task ObjRender_Event (obj) {
  127.     let x = ObjRender_GetX(obj);
  128.     let y = ObjRender_GetY(obj);
  129.     let z = ObjRender_GetZ(obj);
  130.     let x_angle = ObjRender_GetAngleX(obj);
  131.     let y_angle = ObjRender_GetAngleY(obj);
  132.     let z_angle = ObjRender_GetAngleZ(obj);
  133.     let x_scale = ObjRender_GetScaleX(obj);
  134.     let y_scale = ObjRender_GetScaleY(obj);
  135.     let z_scale = ObjRender_GetScaleZ(obj);
  136.     let blend = ObjRender_GetBlendType(obj);
  137.     Obj_SetValue(obj, "ObjEvent_Pause", false);
  138.     Obj_SetValue(obj, "ObjEvent_Stop", false);
  139.     yield;
  140.     while (!Obj_IsDeleted(obj) && Obj_GetValueD(obj, "ObjEvent_Stop", false) == false && _EV_STOP_ == false) {
  141.         while (Obj_GetValueD(obj, "ObjEvent_Pause", false) || _EV_PAUSE_) {
  142.             yield;
  143.         }
  144.         let temp;
  145.         temp = ObjRender_GetX(obj);
  146.         if (x != temp) {
  147.             NotifyEventAll(EV_OBJ_RENDER_X, [obj, x, temp]);
  148.             x = temp;
  149.         }
  150.         temp = ObjRender_GetY(obj);
  151.         if (y != temp) {
  152.             NotifyEventAll(EV_OBJ_RENDER_Y, [obj, y, temp]);
  153.             y = temp;
  154.         }
  155.         temp = ObjRender_GetZ(obj);
  156.         if (z != temp) {
  157.             NotifyEventAll(EV_OBJ_RENDER_Z, [obj, z, temp]);
  158.             z = temp;
  159.         }
  160.         temp = ObjRender_GetAngleX(obj);
  161.         if (x_angle != temp) {
  162.             NotifyEventAll(EV_OBJ_RENDER_ANGLEX, [obj, x_angle, temp]);
  163.             x_angle = temp;
  164.         }
  165.         temp = ObjRender_GetAngleY(obj);
  166.         if (y_angle != temp) {
  167.             NotifyEventAll(EV_OBJ_RENDER_ANGLEY, [obj, y_angle, temp]);
  168.             y_angle = temp;
  169.         }
  170.         temp = ObjRender_GetAngleZ(obj);
  171.         if (z_angle != temp) {
  172.             NotifyEventAll(EV_OBJ_RENDER_ANGLEZ, [obj, z_angle, temp]);
  173.             z_angle = temp;
  174.         }
  175.         temp = ObjRender_GetScaleX(obj);
  176.         if (x_scale != temp) {
  177.             NotifyEventAll(EV_OBJ_RENDER_SCALEX, [obj, x_scale, temp]);
  178.             x_scale = temp;
  179.         }
  180.         temp = ObjRender_GetScaleY(obj);
  181.         if (y_scale != temp) {
  182.             NotifyEventAll(EV_OBJ_RENDER_SCALEY, [obj, y_scale, temp]);
  183.             y_scale = temp;
  184.         }
  185.         temp = ObjRender_GetScaleZ(obj);
  186.         if (z_scale != temp) {
  187.             NotifyEventAll(EV_OBJ_RENDER_SCALEZ, [obj, z_scale, temp]);
  188.             z_scale = temp;
  189.         }
  190.         temp = ObjRender_GetBlendType(obj);
  191.         if (blend != temp) {
  192.             NotifyEventAll(EV_OBJ_RENDER_BLEND, [obj, blend, temp]);
  193.             blend = temp;
  194.         }
  195.         yield;
  196.     }
  197.     Obj_DeleteValue(obj, "ObjEvent_Pause");
  198.     Obj_DeleteValue(obj, "ObjEvent_Stop");
  199. }
  200.  
  201. task ObjShader_Event (obj) {
  202.     //May not need
  203. }
  204.  
  205. task ObjPrim_Event (obj) {
  206.     NotifyEventAll(EV_OBJ_PRIM_NEW, [obj]);
  207.     let count = ObjPrim_GetVertexCount(obj);
  208.     let pos;
  209.     a();
  210.     Obj_SetValue(obj, "ObjEvent_Pause", false);
  211.     Obj_SetValue(obj, "ObjEvent_Stop", false);
  212.     yield;
  213.     while (!Obj_IsDeleted(obj) && Obj_GetValueD(obj, "ObjEvent_Stop", false) == false && _EV_STOP_ == false) {
  214.         while (Obj_GetValueD(obj, "ObjEvent_Pause", false) || _EV_PAUSE_) {
  215.             yield;
  216.         }
  217.         let temp;
  218.         temp = ObjPrim_GetVertexCount(obj);
  219.         if (count != temp) {
  220.             NotifyEventAll(EV_OBJ_PRIM_COUNT, [obj, count, temp]);
  221.             count = temp;
  222.             a();
  223.         } else {
  224.             ascent (i in 0..count) {
  225.                 let temp = ObjPrim_GetVertexPosition(obj, i);
  226.                 if (pos[i][0] != temp[0] || pos[i][1] != temp[1] || pos[i][2] != temp[2]) {
  227.                     NotifyEventAll(EV_OBJ_PRIM_VERTEXPOSITION, [obj, i] ~ pos[i] ~ temp);
  228.                     a();
  229.                     break;
  230.                 }
  231.             }
  232.         }
  233.         yield;
  234.     }
  235.     Obj_DeleteValue(obj, "ObjEvent_Pause");
  236.     Obj_DeleteValue(obj, "ObjEvent_Stop");
  237.  
  238.     function a () {
  239.         pos = [];
  240.         ascent (i in 0..count) {
  241.             pos = pos ~ [ObjPrim_GetVertexPosition(obj, i)];
  242.         }
  243.     }
  244. }
  245.  
  246. task ObjMesh_Event (obj) {
  247.     NotifyEventAll(EV_OBJ_MESH_NEW, [obj]);
  248. }
  249.  
  250. task ObjText_Event (obj) {
  251.     NotifyEventAll(EV_OBJ_TEXT_NEW, [obj]);
  252.     let length_ = ObjText_GetTextLength(obj);
  253.     let length_CU = ObjText_GetTextLengthCU(obj);
  254.     let length_CUL = ObjText_GetTextLengthCUL(obj);
  255.     let width = ObjText_GetTotalWidth(obj);
  256.     let height = ObjText_GetTotalHeight(obj);
  257.  
  258.     let temp_bool;
  259.     Obj_SetValue(obj, "ObjEvent_Pause", false);
  260.     Obj_SetValue(obj, "ObjEvent_Stop", false);
  261.  
  262.     yield;
  263.     while (!Obj_IsDeleted(obj) && Obj_GetValueD(obj, "ObjEvent_Stop", false) == false && _EV_STOP_ == false) {
  264.         while (Obj_GetValueD(obj, "ObjEvent_Pause", false) || _EV_PAUSE_) {
  265.             yield;
  266.         }
  267.         temp_bool = false;
  268.         let temp;
  269.         temp = ObjText_GetTextLengthCUL(obj);
  270.         ascent (i in 0..length(temp)) {
  271.             if (length_CUL[i] != temp[i]) {
  272.                 NotifyEventAll(EV_OBJ_TEXT_TEXTLENGTHCUL, [obj, i] ~ [length_CUL[i]] ~ length_CUL ~ [temp[i]] ~ temp);
  273.                 length_CUL = temp;
  274.                 temp_bool = true;
  275.                 break;
  276.             }
  277.         }
  278.         if (temp_bool == false) {
  279.             temp = ObjText_GetTextLengthCU(obj);
  280.             if (length_CU != temp) {
  281.                 NotifyEventAll(EV_OBJ_TEXT_TEXTLENGTHCU, [obj, length_CU, temp]);
  282.                 length_CU = temp;
  283.             } else {
  284.                 temp = ObjText_GetTextLength(obj);
  285.                 if (length_ != temp) {
  286.                     NotifyEventAll(EV_OBJ_TEXT_TEXTLENGTH, [obj, length_, temp]);
  287.                     length_ = temp;
  288.                 }
  289.             }
  290.         }
  291.         yield;
  292.     }
  293.     Obj_DeleteValue(obj, "ObjEvent_Pause");
  294.     Obj_DeleteValue(obj, "ObjEvent_Stop");
  295. }
  296.  
  297. task ObjShot_Event (obj) {
  298.     NotifyEventAll(EV_OBJ_SHOT_NEW, [obj]);
  299.     let damage = ObjShot_GetDamage(obj);
  300.     let penetration = ObjShot_GetPenetration(obj);
  301.     let delay = ObjShot_GetDelay(obj);
  302.     let is_spell_resist = ObjShot_IsSpellResist(obj);
  303.     let imageID = ObjShot_GetImageID(obj);
  304.     Obj_SetValue(obj, "ObjEvent_Pause", false);
  305.     Obj_SetValue(obj, "ObjEvent_Stop", false);
  306.     yield;
  307.     while (!Obj_IsDeleted(obj) && Obj_GetValueD(obj, "ObjEvent_Stop", false) == false && _EV_STOP_ == false) {
  308.         while (Obj_GetValueD(obj, "ObjEvent_Pause", false) || _EV_PAUSE_) {
  309.             yield;
  310.         }
  311.         let temp;
  312.         let temp2;
  313.         let temp3;
  314.         temp = ObjShot_GetDamage(obj);
  315.         if (damage != temp) {
  316.             NotifyEventAll(EV_OBJ_SHOT_DAMAGE, [obj, damage, temp]);
  317.             damage = temp;
  318.         }
  319.         temp = ObjShot_GetPenetration(obj);
  320.         if (penetration != temp) {
  321.             NotifyEventAll(EV_OBJ_SHOT_PENETRATION, [obj, penetration, temp]);
  322.             penetration = temp;
  323.         }
  324.         temp = ObjShot_GetDelay(obj);
  325.         if (delay != temp) {
  326.             NotifyEventAll(EV_OBJ_SHOT_DELAY, [obj, delay, temp]);
  327.             delay = temp;
  328.         }
  329.         temp = ObjShot_IsSpellResist(obj);
  330.         if (is_spell_resist != temp) {
  331.             let temp2 = [obj];
  332.             if (is_spell_resist == true) {
  333.                 temp3 = [1];
  334.             } else {
  335.                 temp3 = [0];
  336.             }
  337.             temp2 = temp2 ~ temp3;
  338.             if (temp == true) {
  339.                 temp3 = [1];
  340.             } else {
  341.                 temp3 = [0];
  342.             }
  343.             temp2 = temp2 ~ temp3;
  344.             NotifyEventAll(EV_OBJ_SHOT_SPELLRESIST, temp2);
  345.             is_spell_resist = temp;
  346.         }
  347.         temp = ObjShot_GetImageID(obj);
  348.         if (imageID != temp) {
  349.             NotifyEventAll(EV_OBJ_SHOT_IMAGEID, [obj, imageID, temp]);
  350.             imageID = temp;
  351.         }
  352.         yield;
  353.     }
  354.     Obj_DeleteValue(obj, "ObjEvent_Pause");
  355.     Obj_DeleteValue(obj, "ObjEvent_Stop");
  356. }
  357.  
  358. task ObjLaser_Event (obj) {
  359.     let length_ = ObjLaser_GetLength(obj);
  360.     Obj_SetValue(obj, "ObjEvent_Pause", false);
  361.     Obj_SetValue(obj, "ObjEvent_Stop", false);
  362.     yield;
  363.     while (!Obj_IsDeleted(obj) && Obj_GetValueD(obj, "ObjEvent_Stop", false) == false && _EV_STOP_ == false) {
  364.         while (Obj_GetValueD(obj, "ObjEvent_Pause", false) || _EV_PAUSE_) {
  365.             yield;
  366.         }
  367.         let temp;
  368.         temp = ObjLaser_GetLength(obj);
  369.         if (length_ != temp) {
  370.             NotifyEventAll(EV_OBJ_LASER_LENGTH, [obj, length_, temp]);
  371.             length_ = temp;
  372.         }
  373.         yield;
  374.     }
  375.     Obj_DeleteValue(obj, "ObjEvent_Pause");
  376.     Obj_DeleteValue(obj, "ObjEvent_Stop");
  377. }
  378.  
  379. task ObjStLaser_Event (obj) {
  380.     let angle = ObjStLaser_GetAngle(obj);
  381.     Obj_SetValue(obj, "ObjEvent_Pause", false);
  382.     Obj_SetValue(obj, "ObjEvent_Stop", false);
  383.     yield;
  384.     while (!Obj_IsDeleted(obj) && Obj_GetValueD(obj, "ObjEvent_Stop", false) == false && _EV_STOP_ == false) {
  385.         while (Obj_GetValueD(obj, "ObjEvent_Pause", false) || _EV_PAUSE_) {
  386.             yield;
  387.         }
  388.         let temp;
  389.         temp = ObjStLaser_GetAngle(obj);
  390.         if (angle != temp) {
  391.             NotifyEventAll(EV_OBJ_STLASER_ANGLE, [obj, angle, temp]);
  392.             angle = temp;
  393.         }
  394.         yield;
  395.     }
  396.     Obj_DeleteValue(obj, "ObjEvent_Pause");
  397.     Obj_DeleteValue(obj, "ObjEvent_Stop");
  398. }
  399.  
  400. task ObjItem_Event (obj) {
  401.     //May not need
  402. }
  403.  
  404. task ObjEnemy_Event (obj) {
  405.     NotifyEventAll(EV_OBJ_ENEMY_NEW, [obj]);
  406.     let life = ObjEnemy_GetInfo(obj, INFO_LIFE);
  407.     let damage_rate_shot = ObjEnemy_GetInfo(obj, INFO_DAMAGE_RATE_SHOT);
  408.     let damage_rate_spell = ObjEnemy_GetInfo(obj, INFO_DAMAGE_RATE_SPELL);
  409.     Obj_SetValue(obj, "ObjEvent_Pause", false);
  410.     Obj_SetValue(obj, "ObjEvent_Stop", false);
  411.     yield;
  412.     while (!Obj_IsDeleted(obj) && Obj_GetValueD(obj, "ObjEvent_Stop", false) == false && _EV_STOP_ == false) {
  413.         while (Obj_GetValueD(obj, "ObjEvent_Pause", false) || _EV_PAUSE_) {
  414.             yield;
  415.         }
  416.         let temp;
  417.         temp = ObjEnemy_GetInfo(obj, INFO_LIFE);
  418.         if (life != temp) {
  419.             NotifyEventAll(EV_OBJ_ENEMY_LIFE, [obj, life, temp]);
  420.             life = temp;
  421.         }
  422.       temp = ObjEnemy_GetInfo(obj, INFO_DAMAGE_RATE_SHOT);
  423.         if (damage_rate_shot != temp) {
  424.             NotifyEventAll(EV_OBJ_ENEMY_DAMAGERATE_SHOT, [obj, damage_rate_shot, temp]);
  425.             damage_rate_shot = temp;
  426.         }
  427.       temp = ObjEnemy_GetInfo(obj, INFO_DAMAGE_RATE_SPELL);
  428.         if (damage_rate_spell != temp) {
  429.             NotifyEventAll(EV_OBJ_ENEMY_DAMAGERATE_SPELL, [obj, damage_rate_spell, temp]);
  430.             damage_rate_spell = temp;
  431.         }
  432.         yield;
  433.     }
  434.     Obj_DeleteValue(obj, "ObjEvent_Pause");
  435.     Obj_DeleteValue(obj, "ObjEvent_Stop");
  436. }
  437.  
  438. task ObjSprite2D_Event (obj) {
  439.     //May not need
  440. }
  441.  
  442. task ObjSpriteList2D_Event (obj) {
  443.     //May not need
  444. }
  445.  
  446. task ObjSprite3D_Event (obj) {
  447.     //May not need
  448. }
  449.  
  450. task ObjSpell_Event (obj) {
  451.     NotifyEventAll(EV_OBJ_SPELL_NEW, [obj]);
  452. }
  453.  
  454. task ObjMove_Event (obj) {
  455.     let x = ObjMove_GetX(obj);
  456.     let y = ObjMove_GetY(obj);
  457.     let speed = ObjMove_GetSpeed(obj);
  458.     let angle = ObjMove_GetAngle(obj);
  459.     Obj_SetValue(obj, "ObjEvent_Pause", false);
  460.     Obj_SetValue(obj, "ObjEvent_Stop", false);
  461.     yield;
  462.     while (!Obj_IsDeleted(obj) && Obj_GetValueD(obj, "ObjEvent_Stop", false) == false && _EV_STOP_ == false) {
  463.         while (Obj_GetValueD(obj, "ObjEvent_Pause", false) || _EV_PAUSE_) {
  464.             yield;
  465.         }
  466.         let temp;
  467.         temp = ObjMove_GetX(obj);
  468.         if (x != temp) {
  469.             NotifyEventAll(EV_OBJ_MOVE_X, [obj, x, temp]);
  470.             x = temp;
  471.         }
  472.         temp = ObjMove_GetY(obj);
  473.         if (y != temp) {
  474.             NotifyEventAll(EV_OBJ_MOVE_Y, [obj, y, temp]);
  475.             y = temp;
  476.         }
  477.         temp = ObjMove_GetSpeed(obj);
  478.         if (speed != temp) {
  479.             NotifyEventAll(EV_OBJ_MOVE_SPEED, [obj, speed, temp]);
  480.             speed = temp;
  481.         }
  482.         temp = ObjMove_GetAngle(obj);
  483.         if (angle != temp) {
  484.             NotifyEventAll(EV_OBJ_MOVE_ANGLE, [obj, angle, temp]);
  485.             angle = temp;
  486.         }
  487.         yield;
  488.     }
  489.     Obj_DeleteValue(obj, "ObjEvent_Pause");
  490.     Obj_DeleteValue(obj, "ObjEvent_Stop");
  491. }
  492.  
  493. task ObjSound_Event (obj) {
  494.     NotifyEventAll(EV_OBJ_SOUND_NEW, [obj]);
  495.     let is_playing = ObjSound_IsPlaying(obj);
  496.     let volume_rate = ObjSound_GetVolumeRate(obj);
  497.     Obj_SetValue(obj, "ObjEvent_Pause", false);
  498.     Obj_SetValue(obj, "ObjEvent_Stop", false);
  499.     yield;
  500.     while (!Obj_IsDeleted(obj) && Obj_GetValueD(obj, "ObjEvent_Stop", false) == false && _EV_STOP_ == false) {
  501.         while (Obj_GetValueD(obj, "ObjEvent_Pause", false) || _EV_PAUSE_) {
  502.             yield;
  503.         }
  504.         let temp;
  505.         let temp2;
  506.         let temp3;
  507.         temp = ObjSound_IsPlaying(obj);
  508.         if (is_playing != temp) {
  509.             let temp2 = [obj];
  510.             if (is_playing == true) {
  511.                 temp3 = [1];
  512.             } else {
  513.                 temp3 = [0];
  514.             }
  515.             temp2 = temp2 ~ temp3;
  516.             if (temp == true) {
  517.                 temp3 = [1];
  518.             } else {
  519.                 temp3 = [0];
  520.             }
  521.             temp2 = temp2 ~ temp3;
  522.             NotifyEventAll(EV_OBJ_SOUND_PLAYING, temp2);
  523.             is_playing = temp;
  524.         }
  525.         temp = ObjSound_GetVolumeRate(obj);
  526.         if (volume_rate != temp) {
  527.             NotifyEventAll(EV_OBJ_SOUND_VOLUMERATE, [obj, volume_rate, temp]);
  528.             volume_rate = temp;
  529.         }
  530.         yield;
  531.     }
  532.     Obj_DeleteValue(obj, "ObjEvent_Pause");
  533.     Obj_DeleteValue(obj, "ObjEvent_Stop");
  534. }
  535.  
  536. task ObjFile_Event (obj) {
  537.     NotifyEventAll(EV_OBJ_FILE_NEW, [obj]);
  538.     let size = ObjFile_GetSize(obj);
  539.     Obj_SetValue(obj, "ObjEvent_Pause", false);
  540.     Obj_SetValue(obj, "ObjEvent_Stop", false);
  541.     yield;
  542.     while (!Obj_IsDeleted(obj) && Obj_GetValueD(obj, "ObjEvent_Stop", false) == false && _EV_STOP_ == false) {
  543.         while (Obj_GetValueD(obj, "ObjEvent_Pause", false) || _EV_PAUSE_) {
  544.             yield;
  545.         }
  546.         let temp;
  547.         temp = ObjFile_GetSize(obj);
  548.         if (size != temp) {
  549.             NotifyEventAll(EV_OBJ_FILE_SIZE, [obj, size, temp]);
  550.             size = temp;
  551.         }
  552.         yield;
  553.     }
  554.     Obj_DeleteValue(obj, "ObjEvent_Pause");
  555.     Obj_DeleteValue(obj, "ObjEvent_Stop");
  556. }
  557.  
  558. task ObjFileT_Event (obj) {
  559.     //May not need
  560. }
  561.  
  562. task ObjFileB_Event (obj) {
  563.     //May not need
  564. }
  565.  
  566. task ObjEnemyBossScene_Event (obj) {
  567.     //NotifyEventAll(EV_OBJ_ENEMY_BOSS_SCENE_NEW, [obj]);
  568. }
  569.  
  570. task ObjPlayer_Event (obj) {
  571.     //May not need
  572. }
  573.  
  574. task ObjCol_Event (obj) {
  575.     //May not need
  576. }
  577.  
  578. //Not object related task
  579.  
  580. task EventCommonData (key) {
  581.     NotifyEventAll(EV_COMMON_DATA_NEW, [key]);
  582.     let value = GetCommonData(key, COMMON_DATA_DEFAULT);
  583.     yield;
  584.     while (true) {
  585.         let temp = GetCommonData(key, COMMON_DATA_DEFAULT);
  586.         if (ToString(temp) != COMMON_DATA_DEFAULT) {
  587.             if (value != temp) {
  588.                 NotifyEventAll(EV_COMMON_DATA_CHANGE, [key]);
  589.                 value = temp;
  590.             }
  591.         } else {
  592.             break;
  593.         }
  594.         yield;
  595.     }
  596.     NotifyEventAll(EV_COMMON_DATA_DELETE, [key]);
  597. }
  598.  
  599. task EventAreaCommonData (area) {
  600.     NotifyEventAll(EV_COMMON_DATA_AREA_NEW, [area]);
  601.     yield;
  602.     while (IsCommonDataAreaExists(area)) {
  603.         yield;
  604.     }
  605.     NotifyEventAll(EV_COMMON_DATA_AREA_DELETE, [area]);
  606. }
  607.  
  608. task EventAreaCommonDataKey (area, key) {
  609.     NotifyEventAll(EV_COMMON_DATA_AREA_KEY_NEW, [area, key]);
  610.     let value = GetAreaCommonData(area, key, COMMON_DATA_DEFAULT);
  611.     yield;
  612.     while (true) {
  613.         let temp = GetAreaCommonData(area, key, COMMON_DATA_DEFAULT);
  614.         if (ToString(temp) != COMMON_DATA_DEFAULT) {
  615.             if (value != temp) {
  616.                 NotifyEventAll(EV_COMMON_DATA_AREA_KEY_CHANGE, [area, key]);
  617.                 value = temp;
  618.             }
  619.         } else {
  620.             break;
  621.         }
  622.         yield;
  623.     }
  624.     NotifyEventAll(EV_COMMON_DATA_AREA_KEY_DELETE, [area, key]);
  625. }
  626.  
  627. //Helper function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement