İçeriğe atla
S
#sbot#lua#scripting#silkroad private server

sBot Lua Script Yazma Rehberi 2026 — Sıfırdan Otomasyon

sBot Lua script yazma rehberi: event hook'lar, otomasyon mantığı, hazır script örnekleri ve Silkroad Private Server için pratik kullanım.

SSRO PServer Editör3 dk okuma

sBot'un en güçlü yanı Lua tabanlı scripting motorudur. Bu rehberde sıfırdan Lua öğrenmeden, kopyala-yapıştır mantığıyla Silkroad Private Server üzerinde kullanışlı sBot scriptleri yazmayı öğreniyoruz.

Lua Nedir, Neden sBot'ta Kullanılır?

Lua, hafif gömülü scripting dilidir. Oyun motorları, IoT cihazları ve botlar için tercih edilir.

sBot'ta Lua kullanmanın avantajları:

  • Hızlı (C tabanlı)
  • Düşük RAM
  • Olay tabanlı (event-driven)
  • Hot-reload (script'i yeniden başlatmadan günceller)

Script Klasörü ve Yükleme

sBot kurulumunun yapıldığı klasörde scripts/ adlı bir alt klasör var. Tüm .lua dosyalarını buraya koy. Script Manager'dan istediğini aktif/pasif edebilirsin.

sBot/
├── sBot.exe
├── plugins/
└── scripts/
    ├── auto_recall.lua
    ├── alchemy_helper.lua
    └── party_assist.lua

Temel Event Hook'ları

Event Tetikleme
OnLoadCharacter() Karakter login olunca
OnLevelUp(level) Seviye atlayınca
OnDeath() Karakter öldüğünde
OnPK(player) PK saldırısında
OnPickup(item) Item toplandığında
OnChatRecv(type, sender, msg) Mesaj gelince
OnSkillUsed(skill) Skill kullanıldığında
OnPartyInvite(name) Party invite geldiğinde
OnDisconnect() Sunucudan düşünce

Pratik Script Örnekleri

1. PK Geldiğinde Auto Recall

function OnPK(player, isAttacker)
  if GetHP() < 60 and isAttacker then
    SendChat("Sistem: PK saldırısı, recall ediliyor.")
    UseItem("Return Scroll")
  end
end

2. Rare Item Toplandığında Discord'a Bildirim

function OnPickup(item)
  if item.degree >= 11 and item.isSox then
    DiscordNotify("Rare drop: " .. item.name .. " (D" .. item.degree .. ")")
  end
end

3. Auto Sit (HP/MP düşünce mola)

function OnTick()
  if GetHP() < 30 or GetMP() < 25 then
    if not IsSitting() then Sit() end
  elseif GetHP() > 80 and GetMP() > 80 then
    if IsSitting() then Stand() end
  end
end

4. Auto Buff Party Members

function OnTick()
  for _, member in ipairs(GetPartyMembers()) do
    if member.isAlive and not member:HasBuff("Heal Cycle") then
      UseSkillOn("Heal Cycle", member.id)
      break
    end
  end
end

5. Alchemy Loop (+12'ye kadar)

function AlchemyLoop()
  local target = GetItem("inventory", 1)
  while target.plus < 12 do
    local stone = FindItem("Magic Stone")
    if not stone then break end
    Alchemy(target.id, stone.id)
    Sleep(2000)
  end
end

6. Magic Pop Otomasyonu

function MagicPopLoop(count)
  for i = 1, count do
    UsePop()
    Sleep(1500)
  end
end

Yararlı Built-in Fonksiyonlar

Fonksiyon Açıklama
GetHP() / GetMP() HP/MP yüzdesi
GetGold() Cüzdan gold
GetPosition() x, y, z koordinat
Move(x, y) Hedefe git
UseItem(name) İtem kullan
UseSkill(name) Skill kullan
UseSkillOn(skill, targetId) Hedefe skill at
Sit() / Stand() Otur / kalk
OpenStorage() Storage aç
SendChat(msg) Local chat
Sleep(ms) Beklet (kullan dikkatli)

Logging & Hata Ayıklama

Log("Mesaj burada")          -- Console log
LogError("Hata: " .. msg)    -- Kırmızı log
DiscordNotify("Discord ping") -- Discord webhook

Hata aldığında Script Manager > Console sekmesinden trace'i kontrol et.

Performans İpuçları

  1. OnTick içinde ağır işlem yapma (her ~250 ms tetiklenir).
  2. Sleep yerine timer kullan:
    AddTimer("buff_check", 5000, function() ... end)
    
  3. Sık erişilen değişkenleri cache'le:
    local hp = GetHP()
    if hp < 50 then ... end
    
  4. String concat yerine string.format kullan.

Hazır Script Repository'leri

  • sBot resmi forum > Scripts kategorisi
  • GitHub: sbot-community/scripts (topluluk)
  • Discord: #script-sharing kanalı

Uyarı: Üçüncü parti script'leri incelemeden çalıştırma. Lua dosyaları account credential çalabilir.

Sonuç

sBot Lua scripting ile Silkroad Private Server otomasyonunu istediğin gibi özelleştirebilirsin. Başlangıç olarak yukarıdaki 6 script'i scripts/ klasörüne ekleyip aktive et, kademeli olarak kendi mantığını ekle. Daha fazlası için sBot kurulum rehberi ve phBot vs sBot karşılaştırması yazılarımızı oku.

Etiketler
#sbot#lua#scripting#silkroad private server
← Blog'a dön

İlgili yazılar