players[index]

No matter what number is the index number it will only change properties of the player running the script.

What’s up with that?

if (playerchats&&strcontains(#c,kick)&&strequals(#g,Events Team)) {
  for(this.i=0;this.i<playerscount;this.i++){
    players[this.i].x=55;
    players[this.i].y=55;
  }
}

Without an NPC server, there is no means for any player to directly alter the values of another player. You would have to use save[] in some manner to get the other clients to see a requested change and make it themselves. Maybe some of the additions the Graal Reborn server has might be useful too, but I don’t really know anything about them.

Use shoot.

if (actionprojectile || actionprojectile2) {
  if (strequals(#p(2),eventkick) && strequals(#p(3),#a)) {
    setlevel2 level,x,y;
    setplayerprop #c,Kicked from event!;
  }
}
if (playerchats && strequals(#g,Events)) {
  if (startswith(!kick,#c)) {
    tokenize #c;
    setshootparams eventkick,#t(1);
    shoot -10,-10,0.05,0.05,0.05,0.05,,,,,;
  }
}

I didn’t test it but something like this.

Ugh… the above is exactly why using Graal is horrible.

I’ll try that and give you news.

I use server strings for multiplayer functionality

there are two kinds of people in this world…

How’d shoot work out for you, 2ndwolf?

Oh, thought I answered this.
It worked perfectly, thankfully we already had an invisible npcw owned by everyone.

But it seems it doesn’t work for npcs (only for players?) so I used callnpc with saves and global variables instead for the doors I scripted afterwards (and posted on “is this. serverside?”). It looks nicer anyway.

NPCs don’t have account names.