Advertisement
drakeirving

item script basic example

Nov 29th, 2015
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. @Initialize{
  2. SetDefaultBonusItemEnable(false);
  3. let dir = GetCurrentScriptDirectory();
  4. LoadItemData(dir ~ "item.dnh"); // where item data is defined
  5. }
  6.  
  7. @Event{
  8. alternative(GetEventType())
  9. case(EV_GET_ITEM){
  10. let type = GetEventArgument(0); // Item type ID
  11. let item = GetEventArgument(1); // Item object ID
  12. alternative(type)
  13. case(ITEM_POWER){
  14. // handle
  15. }
  16. case(ITEM_POINT){
  17. // handle
  18. }
  19. case(ITEM_1UP){
  20. // handle
  21. }
  22. }
  23. case(EV_DELETE_SHOT_TO_ITEM){
  24. let shot = GetEventArgument(0); // Deleted shot object ID
  25. let pos = GetEventArgument(1); // Position of deleted shot as array [x, y]
  26. ItemCreate_Bonus(pos[0], pos[1]);
  27. }
  28. case(EV_USER+72){ // User event: something happens
  29. let pos = GetEventArgument(0); // User events only have one argument, array is used for multiple args
  30. if(length(pos) == 2){
  31. ItemCreate_Hyper(pos[0], pos[1]);
  32. }
  33. }
  34. }
  35.  
  36. task ItemCreate_Bonus(x, y){
  37. let item = CreateItemU1(ITEM_BONUS_SM, x, y, 10);
  38. Obj_SetRenderPriorityI(item, 28); // Draw below bullets
  39. ObjItem_SetDefinedMovePatternA1(item, ITEM_MOVE_TOPLAYER);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement