Your idea is basically correct: When your script does not work as it should, strip it down to simplicity and then try to find the problem. However the script you posted is not simple, it has many waits, complicated skill conditions or lines that apparently make no sense. Lite-C is robust and runs also bad scripts, but too many bug possibilities make such a script useless for testing.

send_skill_to works when I try it, although of course it's possible that it has a bug that appears only under certain conditions. But for the next steps I suggest the following:

- First work through some lessons of the lite-C tutorial for learning better scripting - especially the debugging lessons and the two last lessons. You're an old timer on the forum, but I see from your code that you're not yet 100% settled in script writing. Multiplayer requires the ability to write clean code, and to know what to do when something does not work.

- Next, use the multiplayer tutorial for your test script. Run it with 2 clients. First just send a skill from the server to one of the clients, but not to the other. Use send_skill_to for this, giving the entity pointer. Check if this works.

- Then, send back a skill from one of the clients to the server, and use a receive event on the server to send it to the other client. Check also if this works.

If you encounter a problem, please post again and we'll help.