╔══════════════════════════════════════════════════════╗
SPECIAL VIP TELEPORT SYSTEM - Gatekeeper Script
╚══════════════════════════════════════════════════════╝
.:: DESCRIPTION ::.
Professional teleport system for Lineage 2 servers that requires special VIP tickets/items to access specific locations. Perfect for creating premium teleport services, VIP zones, or monetization features.SPECIAL VIP TELEPORT SYSTEM - Gatekeeper Script
╚══════════════════════════════════════════════════════╝
.:: DESCRIPTION ::.
.:: FEATURES ::.
✔ Multi-Ticket Support - Works with 3 different ticket types✔ Player Validation - Checks player status before teleport
✔ Custom Messages - Clear feedback system
✔ Easy Configuration - Simple setup process
✔ Optimized Code - Lightweight & production-ready
✔ Error Handling - Full exception management
✔ Console Logging - Track script status
.:: HOW IT WORKS ::.
The script checks if the player has one of the configured VIP tickets before allowing teleportation to specified coordinates.Perfect for:
► VIP-only areas
► Premium teleport services
► Cash shop items
► Event access control
► Donator benefits
.:: CONFIGURATION ::.
// Item IDs (customize these)TICKET_VIP_1 = 91579
TICKET_VIP_2 = 91580
TICKET_VIP_3 = 9210
// Usage in scripts:
teleportWithTicket("x", "y", "z")
.:: USE CASES ::.
★ Create exclusive teleport NPCs for VIP players★ Monetize special zone access
★ Reward donators with premium teleports
★ Control access to custom instances/zones
★ Event-based teleportation system
.:: INSTALLATION ::.
1. Compile the script2. Place the generated ext inside the gameserver directory
3. Configure item IDs in the script
4. Add teleport NPCs with the function call
5. Reload scripts and test
.:: WHY USE THIS? ::.
✔ Increase revenue - Sell VIP tickets✔ Player retention - Exclusive benefits
✔ Flexible - 3 ticket tiers
✔ Professional - Production-ready
PM FOR QUESTIONS & SUPPORT
Price: FREE
Fast Delivery |
Professional Support |
Quality Code
Price: FREE
Java:
package custom.gatekeeper;
import l2.gameserver.scripts.Functions;
import l2.gameserver.scripts.ScriptFile;
import l2.gameserver.data.xml.holder.ItemHolder;
import l2.gameserver.model.Player;
import l2.gameserver.network.l2.components.SystemMsg;
import l2.gameserver.network.l2.s2c.SystemMessage;
import l2.gameserver.templates.item.ItemTemplate;
import l2.gameserver.utils.Location;
public class SpecialTeleport extends Functions implements ScriptFile {
private static final int TICKET_VIP_1 = 91579;
private static final int TICKET_VIP_2 = 91580;
private static final int TICKET_VIP_3 = 9210;
@Override
public void onLoad() {
System.out.println("=== SpecialTeleport: Script cargado ===");
}
@Override
public void onReload() {
System.out.println("=== SpecialTeleport: Script recargado ===");
}
@Override
public void onShutdown() {
System.out.println("=== SpecialTeleport: Script apagado ===");
}
public void teleportWithTicket(String[] args) {
Player player = getSelf();
if (player == null || player.isDead() || player.isInObserverMode()) {
return;
}
if (args.length < 3) {
player.sendMessage("Invalid teleport data.");
return;
}
try {
int x = Integer.parseInt(args[0]);
int y = Integer.parseInt(args[1]);
int z = Integer.parseInt(args[2]);
boolean hasTicket1 = getItemCount(player, TICKET_VIP_1) > 0;
boolean hasTicket2 = getItemCount(player, TICKET_VIP_2) > 0;
boolean hasTicket3 = getItemCount(player, TICKET_VIP_3) > 0;
if (hasTicket1 || hasTicket2 || hasTicket3) {
player.teleToLocation(new Location(x, y, z));
} else {
String name1 = getItemName(TICKET_VIP_1);
player.sendPacket(
new SystemMessage(SystemMsg.S1)
.addString("Only those bearing " + name1 + " may access this sacred teleport.")
);
}
} catch (Exception e) {
player.sendMessage("Invalid teleport data.");
}
}
private String getItemName(int itemId) {
try {
ItemTemplate template = ItemHolder.getInstance().getTemplate(itemId);
if (template != null && template.getName() != null) {
return template.getName();
}
} catch (Exception e) {
}
return "Item #" + itemId;
}
}
bypass -h scripts_custom.gatekeeper.SpecialTeleport:teleportWithTicket 184360 -62665 -2976