Sol Banner
Sağ Banner
Sol Banner
Sağ Banner

Metin2 Lua + SQL – Level Kontrollü NPC Teleport Sistemi

King

New member
Kayıtlı
dün 23:32 da
Katılım
12 Eylül 2026
Mesajlar
1
Tepkime puanı
0
Puan
1
Oyuncunun seviyesini kontrol ederek, gerekli şart sağlandığında belirlenen haritaya ışınlanmasını sağlayan Lua sistemi.

Python:
quest level_teleport begin
    state start begin

        when 9003.chat."Özel Bölgeye Git" begin

            local min_level = 75

            if pc.get_level() < min_level then
                say_title("Işınlanma")
                say("")
                say("Bu bölgeye girebilmek için")
                say_reward(min_level .. " seviyesinde olmalısın.")
                return
            end

            say_title("Işınlanma")
            say("")
            say("Özel bölgeye ışınlanmak")
            say("istiyor musun?")
            say("")

            local secim = select("Işınlan", "Vazgeç")

            if secim == 1 then
                pc.warp(123400, 567800)
            end
        end
    end
end

SQL ile log tutma

Oyuncu ışınlandığında SQL tarafına kayıt atmak için:
SQL:
INSERT INTO teleport_log
(player_id, player_name, map_index, x, y, teleport_time)
VALUES
(
    123,
    'OyuncuAdi',
    41,
    123400,
    567800,
    NOW()
);

Log tablosu
SQL:
CREATE TABLE teleport_log (
    id INT AUTO_INCREMENT PRIMARY KEY,
    player_id INT NOT NULL,
    player_name VARCHAR(24) NOT NULL,
    map_index INT NOT NULL,
    x INT NOT NULL,
    y INT NOT NULL,
    teleport_time DATETIME NOT NULL
);

Son ışınlanan 10 oyuncu
SQL:
SELECT
    player_name,
    map_index,
    x,
    y,
    teleport_time
FROM teleport_log
ORDER BY teleport_time DESC
LIMIT 10;
 
Geri
Üst Alt