Bu sistem, oyuncu şehirde gezerken veya boş dururken değil, yalnızca bir canavara veya metine saldırıp onu öldürdüğünde devreye girerek son doğrulamanın üzerinden 10 dakika geçmişse ekrana 6 haneli rastgele bir sayı ve 5 farklı seçenekten oluşan bir güvenlik penceresi getirir; bu süreçte oyuncunun hareketi kısıtlanıp bineğinden indirilerek saldırı yapması engellenirken, 30 saniyelik süre içerisinde doğru butonu bulamayan, iki kez yanlış tercihte bulunan veya hiçbir işlem yapmayan kullanıcılar bot olarak algılanıp sunucudan anında bağlantıları kesilerek oyundan atılır.
Kod:
quest bot_kontrol begin
state start begin
when kill with not npc.is_pc() begin
if get_time() - pc.getqf("son_bot_kontrol") >= 600 then
bot_kontrol.dogrulama()
end
end
function dogrulama()
local map = pc.get_map_index()
local x, y = pc.get_x(), pc.get_y()
pc.set_warp_location(map, x, y)
if horse.is_summon() then horse.unsummon() end
if pc.is_mount() then pc.unmount() end
local dogru = number(100000, 999999)
local s1, s2, s3 = number(100000, 999999), number(100000, 999999), number(100000, 999999)
local siklar = {dogru, s1, s2, s3}
for i = 4, 2, -1 do
local j = number(1, i)
siklar[i], siklar[j] = siklar[j], siklar[i]
end
timer("bot_sure_siniri", 30)
say_title("[Sistem] Bot Kontrolü")
say("")
say_reward("Lütfen aşağıdaki sayıyı seçin:")
say("")
say_white("Sayı: "..dogru)
say("")
local sec = select(tostring(siklar[1]), tostring(siklar[2]), tostring(siklar[3]), tostring(siklar[4]), "Kapat")
if siklar[sec] == dogru then
cleartimer("bot_sure_siniri")
pc.setqf("son_bot_kontrol", get_time())
pc.setqf("hata", 0)
syschat("Doğrulama başarılı.")
else
local hata = pc.getqf("hata") + 1
pc.setqf("hata", hata)
if hata >= 2 then
pc.setqf("hata", 0)
pc.disconnect()
else
syschat("Yanlış cevap! 1 hakkınız kaldı.")
bot_kontrol.dogrulama()
end
end
end
when bot_sure_siniri.timer begin
pc.setqf("hata", 0)
pc.disconnect()
end
end
end