Just tried the program. So, basically you enter input that you're prompted for, and the program spits out the command. This would be helpful for someone who was completely new and confused about the drop[] command. For others, I would say it has limited usefulness.
Couple of suggestions and comments
1.) Call focus to the text field each time you change the panel around/add new stuff. Saves the user constantly reclicking on the text field each time.
2.) The 'help' section which follows each category is probably the most useful part of the program. You need to do some more work on this. Here are some notes you could use in the 'help' section, about drop[]:
- Animation name: I think this depends on the type of object you drop, if you use a spaceObject. Then the animation relates to the dropped model.
- Weight and volume: these combined factors determine whether the object *accelerates* up, down, or not at all. ie they define the balance between upthrust and weight. (Seems an odd way to do it, but that's what they decided). From memory, a ratio of ~1.2 weight to 1 volume produces 0 acceleration. Note that this is the ONLY way to change the velocity of the drop particle (someone please correct me if i'm wrong, but i think the particle is outside all influences once it has been created). I also think that volume determines the object's size in some part, in addition to the size[] array.
- Rubbing: this is how much the particle is affected by the wind. Sample input for this is between 0 and 1. I find that 0.08-0.1 is a good, moderate effect for smoke and fire.
- Color- you do mention this in the help text, but i would emphasize it: you can have as many RGBA arrays in here as you like; you can have 2 or 20. They are all linearly interpolated, and there is no way to change this which is a bummer. Linearly interpolated just means that the transit time between two colors is always the same.
- Animation phase: An educated guess, but I think this is how drop particles animate in terms of the ratio of frames in the animation. For example, using the array [0,1] will cause the particle to do one complete animation in it's lifetime. Doing [0,1,0] will cause it to animate once, and then once in reverse order, all in the space of it's lifetime. Using [ 0 ] will cause the particle to stay still in it's beginning frame and [ 1 ] will cause it to stay still in it's end frame. NB: This may be complete rubbish of course; someone will correct me if i'm wrong here.
- Random period and intensity. AFAIK, the 'Random Period' is actually a constant value, ie the particle will always switch directions after this many seconds. So, a misleading name. The random intensity is a non-skewed random value between 0 and whatever you set it as.
- OnTimer - use the parameter 'this' in your script to get the particle's position, not the particle itself. Bit of a bummer that.
- Object: the object to 'attach' the particle to. You can use the name of an object, and then specify a model section in the 'position' section of the drop array instead of an [x,y,z] array. For example 'Hlave' which I think someone said was 'torso'. Don't know much about that. You can use "" to signify no object. (NB you can also use "" to signify no animation, no ontimer or ondestroyed events). In this case the [x,y,z] position is not relative but absolute, like setpos.
3.) Some sort of debugger for the drop array might be useful, since ofp has no debugger aside from the in-game one.