/tq command script

Posts 1–7 of 7 · Page 1 of 1
/tq command script
So I know what your gonna say "This is with most sources" and you would be right.
But this is for people who is making a new server so please don't flame me.

Code:
// tq.js

var ID_CREATE_SUCCESS = 47;
var ID_PLAYER_TEXT = 80;
var ID_UPDATE = 66;
var ID_TELEPORT = 67;
var ID_NEW_TICK = 50;
var ID_QUEST_OBJECTID = 48;

var questObjectId = -1;
var questLoc = null;
var playerLocs = {};
var myId = -1;

function onClientPacket(event) {
   var packet = event.getPacket();
   switch (packet.id()) {
      case ID_PLAYER_TEXT: {
         var text = packet.text.toLowerCase();
         if(text == "/tq"){
            event.cancel();

            if(questObjectId == -1 || questLoc == null){
               break;
            }
            var minDist = questLoc.distanceSquaredTo(playerLocs[myId]);
            var toTp = myId;
            for(var player in playerLocs){
               var distToQuest = questLoc.distanceSquaredTo(playerLocs[player]);
               
               if(distToQuest < minDist){
                  minDist = distToQuest;
                  toTp = player;
               }
            }
            if (toTp != myId){
               //send tp packet
               var tp_packet = event.createPacket(ID_TELEPORT);
               tp_packet.objectId = toTp;
               event.sendToServer(tp_packet);
               break;
            }
         }
         break;
      }
   }
}

function onServerPacket(event) {
   var packet = event.getPacket();
   switch (packet.id()) {
      case ID_CREATE_SUCCESS: {
         myId = packet.objectId;
         break;
      }
      case ID_UPDATE: {
         // New objects
         for (var i = 0; i < packet.newObjs.length; i++) {
            var objectData = packet.newObjs[i];

            var type = objectData.objectType;
            if(type == 768 || type == 775 || type == 782 || type == 784 || (type >= 797 && type <= 806)){ // player classes
               playerLocs[objectData.status.objectId] = objectData.status.pos;
            }else{
               if(objectData.status.objectId == questObjectId){
                  questLoc = objectData.status.pos;
               }
            }
         }

         // Removed objects
         for (var i = 0; i < packet.drops.length; i++) {
            var droppedObjectId = packet.drops[i];

            if(playerLocs[droppedObjectId] != null){
               delete playerLocs[droppedObjectId];      
            }
            else if(droppedObjectId == questObjectId){
               questObjectId = -1;
               questLoc = null;
            }
         }
         break;
      }
      case ID_NEW_TICK: {
         for (var i = 0; i < packet.statuses.length; i++) {
            var status = packet.statuses[i];

            for (player in playerLocs){
               if(status.objectId == player){
                  playerLocs[player] = status.pos;
                  break;
               }
            }
         }
         break;
      }
      case ID_QUEST_OBJECTID: {
         questObjectId = packet.objectId;
         break;
      }
   }
}

What this is for: This is the teleport to quest command. Very useful.

Its most used on GM's, Mods and admins and up.


Note: I did not make this script all credit goes to original maker!
Wtf is happenning...
Wrong section..
And it's already released.
Quote Originally Posted by coolpop33 View Post
So I know what your gonna say "This is with most sources" and you would be right.
But this is for people who is making a new server so please don't flame me.

What this is for: This is the teleport to quest command. Very useful.

Its most used on GM's, Mods and admins and up.

... umm server and GM's, Mod and admins up... definitely wrong section @Raple @Lovroman
Yeah I know raple moved it '////' I'm still a noob cut me some slack.
Quote Originally Posted by coolpop33 View Post
Yeah I know raple moved it '////' I'm still a noob cut me some slack.
Raple moved after I mentioned him into the thread
Posts 1–7 of 7 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

Need help?