Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
xranzei 1
xranzei
mavzermete 1
mavzermete
Hikaye Ekle

Vote4Buff Questi | Yang Eritme Sistemi (1-99)

  • Konuyu başlatan Konuyu başlatan ıTEOREMı
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 5
  • Görüntüleme Görüntüleme 338

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!





Günlük Buff & Yang Eritme Sistemi

Sistemin Özellikleri:

24 Saatlik Limit:
Oyuncu bonusu aldığı an süre başlar ve 24 saat geçmeden yeni bonus alamaz.


Dinamik Seçenekler: Defans (10M), STR (15M) ve Ortalama Zarar (20M) seçenekleri mevcuttur.


Eski Buff Temizliği: Yeni bir buff alındığında karakterdeki eski sistem buffları otomatik silinir, bug yapılması engellenir.


Ekonomik Denge: Sunucudaki Yang stoklarını eritmek için tasarlanmıştır.

Kurulum:


1. Kodu vote_buff.lua olarak kaydedin.


2. /usr/game/share/locale/turkey/quest dizinine yükleyin.


3. ./qc vote_buff.lua ile aktif edip /reload q yapın.

Quest Kodu:

[CODE title="Vote 4 Buff Code (Serverinize Göre Düzenleyin)"]quest vote_buff begin
state start begin
-- AYARLAR VE VERILER
function config()
return {
["bekleme_suresi"] = 86400, -- 24 Saat (Saniye)
["buff_sure"] = 86400, -- 24 Saat (Saniye)
["fiyat_def"] = 10000000,
["fiyat_str"] = 15000000,
["fiyat_ort"] = 20000000
}
end

when 20095.chat."Gunluk Guclendirme Al" begin
local cfg = vote_buff.config()
local son_alim = pc.getqf("buff_zaman")
local su_anki_zaman = get_time()

-- 24 SAAT KONTROLU
if su_anki_zaman < son_alim + cfg.bekleme_suresi then
local kalan = (son_alim + cfg.bekleme_suresi) - su_anki_zaman

-- HATA VEREN % ISARETI YERINE ALTERNATIF HESAPLAMA
local saat = math.floor(kalan / 3600)
local dakika = math.floor((kalan - (saat * 3600)) / 60)

say_title("Bilge:")
say("Henuz yeni bir guclendirme alamazsin.")
say("Beklemen gereken sure:")
say_reward(saat.." saat "..dakika.." dakika.")
return
end

say_title("Gunluk Guclendirme Sistemi")
say("Merhaba "..pc.get_name()..",")
say("Bugun hangi bonusu satin almak istersin?")
say("Not: Bonuslar 24 saat gecerlidir.")

local secim = select("+50 Defans (10M Yang)", "+50 Guc (15M Yang)", "+5 Ortalama (20M Yang)", "Kapat")
if secim == 4 then return end

-- Bonus Detaylari Tablosu
local bonuslar = {
{apply.DEF_GRADE_BONUS, 50, cfg.fiyat_def, "Defans"},
{apply.ATT_GRADE_BONUS, 50, cfg.fiyat_str, "Guc (STR)"},
{apply.NORMAL_HIT_DAMAGE_BONUS, 5, cfg.fiyat_ort, "Ortalama Zarar"}
}

local secilen_bonus = bonuslar[secim][1]
local miktar = bonuslar[secim][2]
local maliyet = bonuslar[secim][3]
local b_adi = bonuslar[secim][4]

-- PARA KONTROLU
if pc.get_gold() < maliyet then
say_title("Bilge:")
say("Yeterli Yang bulunmuyor.")
say_reward("Gereken: "..maliyet.." Yang")
return
end

-- ESKI BUFFLARI TEMIZLE
affect.remove_collect(apply.DEF_GRADE_BONUS, 50, 86400)
affect.remove_collect(apply.ATT_GRADE_BONUS, 50, 86400)
affect.remove_collect(apply.NORMAL_HIT_DAMAGE_BONUS, 5, 86400)

-- ISLEMI TAMAMLA
pc.change_gold(-maliyet)
affect.add_collect(secilen_bonus, miktar, cfg.buff_sure)
pc.setqf("buff_zaman", get_time())

say_title("Basarili!")
say("Sectigin bonus tanimlandi:")
say_reward(b_adi.." +"..miktar)
say("Suresi: 24 Saat")

notice_all(pc.get_name().." gunluk "..b_adi.." bonusunu aldi!")
end
end
end[/CODE]

Kod Hakkında Önemli Not:
• affect.add_collect komutu, karakter ölse bile bonusun süresi bitene kadar (veya karakter oyunda olduğu sürece) üzerinde kalmasını sağlar. En güvenli yöntem budur.


• ID Kontrolü: Eğer sunucunda Biyolog görevleri de bu bonusları veriyorsa, değerleri (Örn: 50 STR) öyle bir ayarla ki Biyolog ile karıştırılmasın. Bu kodda verdiğim değerler standarttır.
 
Son düzenleme:

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst