I ought to start by saying that I think a line has a designated talk and solid range (that cannot be changed with SLIDR/TALKR, I tried). It's only a small amount, but it's enough that it makes sense to be able to "enter" and "leave" a line (or more precisely, its range) and talk to it from a specific distance.
What do you mean by the very center of the line? (Line 1---------2---------3) It only activate when you reach point 2 and not activated when you reach 1 or 3? And does this includes solid range of PC entity or not? And does this includes solid range of PC entity or not?
Seems I wasn't quite right on script 4. It's the center point of the character object that has to enter the line, i.e this disregards the Solid Range of the object entering the line.
whats the difference between 3 and 6?
3 activates once when you move within the line range; when you stop, then move again, it activates again. With 6, it activates once when you are within the line range, but you have to leave the line area and then re-enter it for it to activate again. This stops it from repeatedly activating whilst you move along the line.
And I have one more question, does line have talk range and can it be talked to?
You can talk to a line, but it does not have a talk range (TLKR has no effect). So I suppose talk range is tied to the field object whilst lines have a predetermined talk range, which is probably the same as its "solid range" used for entering/leaving the line.
So in the end I think it boils down to this:
Line- 1: Init
- 2: OnTalk - the talk button has been pressed with the character on the line's range; script activated once.
- 3: OnMove - the character has moved whilst on the line; script activated once. Move again on the line, and the script activates again.
- 4: OnCenter - the center point of the player object has moved on the line; script activated once. Move again on the line, and the script activates again. Disregards solid range.
- 5: OnInside - the character is on the line range; script activated repeatedly, once every frame.
- 6: OnEnter - the character has entered the line area; script activated once. Move again on the line, nothing happens. Must exit and re-enter line range for effect to occur again.
- 7: OnLeave - the character has left the line area; script activated once. Move again on the line, nothing happens. Must exit, re-enter, and re-exit the line range for effect to occur again.
Object- 1: Init
- 2: OnTalk - the talk button has been pressed; script activated once.
- 3: OnMove - the character has moved onto/touched the edge of the solid range; script activated once. Move again whilst still on the edge of the solid range, and script activates again.
OnCenter cannot be used because the center of the player character object cannot reach the solid object; OnInside, OnEnter and OnLeave also do not work with objects, only with lines.
If I seem vague or it seems like I'm not answering your question, my apologies, it's mostly because I am unsure myself.
Not always easy to explicitly say what it appears to be doing by observation.