Pastebin

New pastes are no longer accepted · Stats

Latest Pastes

else if (command.length() == 4 && command.compare(0,4,"warp") == 0)
{
 if(arguments.size() > 0)
   {
    std::string loc = arguments[0];
    if (this->player->character->mapid == static_cast<int>(this->server->world->config["JailMap"]))
        {
         break;
        }

        if(static_cast<int>(this->server->world->warps_config[loc + ".map"]) > 0)
          {
            short id = 1;
            int amount = static_cast<int>(this->server->world->warps_config[loc + ".cost"]);
            int Lvl = static_cast<int>(this->server->world->warps_config[loc + ".lvl"]);
            int Map = static_cast<int>(this->server->world->warps_config[loc + ".map"]);
            int X = static_cast<int>(this->server->world->warps_config[loc + ".x"]);
            int Y = static_cast<int>(this->server->world->warps_config[loc + ".y"]);

            if(X > 0 && Y > 0)
             {
                if(this->player->character->level < Lvl && this->player->character->admin < 1)
                {
                 this->player->character->ShowHint(" You need lvl " + util::to_string(Lvl) + " to warp there");
                 break;
                }
                if (this->player->character->HasItem(id) < amount)
                {
                  this->player->character->ShowHint("You need " + util::to_string(amount) + " gold to warp there! ");
                  break;
                }

                if(static_cast<std::string>(this->server->world->warps_config["WarpsAnimation"]) == "none")
                 {
                   
                    this->player->character->Warp(Map, X, Y, WARP_ANIMATION_NONE);

                    this->player->character->DelItem(id, amount);
                    PacketBuilder b;
                    b.SetID(PACKET_ITEM, PACKET_KICK);
                    b.AddShort(id);
                    b.AddInt(this->player->character->HasItem(id));
                    b.AddChar(this->player->character->weight);
                    b.AddChar(this->player->character->maxweight);
                    this->player->character->client->SendBuilder(b);
                 }
                else
                {
                    this->player->character->Warp(Map, X, Y, WARP_ANIMATION_ADMIN);

                    this->player->character->DelItem(id, amount);
                    PacketBuilder b;
                    b.SetID(PACKET_ITEM, PACKET_KICK);
                    b.AddShort(id);
                    b.AddInt(this->player->character->HasItem(id));
                    b.AddChar(this->player->character->weight);
                    b.AddChar(this->player->character->maxweight);
                    this->player->character->client->SendBuilder(b);

                }
            }
        }
    }
}

//config example
desert.cost = 10
desert.lvl = 1
desert.map = 140
desert.x = 10
desert.y = 8*/