Yardım RANDOM İTEM VEREN BİR NPC QUESTİNE İHTİYACIM VAR

  • Konuyu açan Konuyu açan byzirvex78
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 7
  • Gösterim Gösterim 71
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.
19,29,39,49 vnumları istediğin eşya koduyla değiştir ve questi dene çalışıcak mı ? npc kodu ise 9004

C++:
Genişlet Daralt Kopyala
quest random_esya_Ver begin
    state start begin
        when 9004.chat."Merhaba" begin
            local rand = number(4)
            local item_id

            if rand == 1 then
                item_id = 19
            elseif rand == 2 then
                item_id = 29
            elseif rand == 3 then
                item_id = 39
            else
                item_id = 49
            end

            give item_id, 1
            say(string.format("Rastgele esya verildi: %d", item_id))
        end
    end
end
 
19,29,39,49 vnumları istediğin eşya koduyla değiştir ve questi dene çalışıcak mı ? npc kodu ise 9004

C++:
Genişlet Daralt Kopyala
quest random_esya_Ver begin
    state start begin
        when 9004.chat."Merhaba" begin
            local rand = number(4)
            local item_id

            if rand == 1 then
                item_id = 19
            elseif rand == 2 then
                item_id = 29
            elseif rand == 3 then
                item_id = 39
            else
                item_id = 49
            end

            give item_id, 1
            say(string.format("Rastgele esya verildi: %d", item_id))
        end
    end
end
Merhaba,
Cano quest güzel ama 2 yerde hata gördüm.
local rand = number(4) geçersiz kullanım. C#da, C++ gibi dillerde evet bu şekilde kullanılıyor. 4e kadar rastgele sayı al diye ama lua dili kabul etmiyor, 2 değer almalı. Mesela local rand = number(1, 4) bu gibi.
2.side give item_id, 1 kısmı. Give kendi fonksiyon olarak kullanılmıyor. Parametre olarak kullanılır. Mesela oyuncuya verilecek pc.give_item2(item_id, 1) şeklinde kullanılmalı.
 
19,29,39,49 vnumları istediğin eşya koduyla değiştir ve questi dene çalışıcak mı ? npc kodu ise 9004

C++:
Genişlet Daralt Kopyala
quest random_esya_Ver begin
    state start begin
        when 9004.chat."Merhaba" begin
            local rand = number(4)
            local item_id

            if rand == 1 then
                item_id = 19
            elseif rand == 2 then
                item_id = 29
            elseif rand == 3 then
                item_id = 39
            else
                item_id = 49
            end

            give item_id, 1
            say(string.format("Rastgele esya verildi: %d", item_id))
        end
    end
end
arkadaşım olduğun için şaka yapacağım

 
Merhaba,
Cano quest güzel ama 2 yerde hata gördüm.
local rand = number(4) geçersiz kullanım. C#da, C++ gibi dillerde evet bu şekilde kullanılıyor. 4e kadar rastgele sayı al diye ama lua dili kabul etmiyor, 2 değer almalı. Mesela local rand = number(1, 4) bu gibi.
2.side give item_id, 1 kısmı. Give kendi fonksiyon olarak kullanılmıyor. Parametre olarak kullanılır. Mesela oyuncuya verilecek pc.give_item2(item_id, 1) şeklinde kullanılmalı.
Merhaba yavrum, şehir dışında olduğum için ana bilgisayarım yanımda değil maalesef, x yerden elde ettim attım bana ait değil :D
 
Merhaba,
Cano quest güzel ama 2 yerde hata gördüm.
local rand = number(4) geçersiz kullanım. C#da, C++ gibi dillerde evet bu şekilde kullanılıyor. 4e kadar rastgele sayı al diye ama lua dili kabul etmiyor, 2 değer almalı. Mesela local rand = number(1, 4) bu gibi.
2.side give item_id, 1 kısmı. Give kendi fonksiyon olarak kullanılmıyor. Parametre olarak kullanılır. Mesela oyuncuya verilecek pc.give_item2(item_id, 1) şeklinde kullanılmalı.

Lua (Quest):
Genişlet Daralt Kopyala
quest random_item_giver begin
    state start begin
        when 20095.chat."Şansını Denemek İster misin?" begin
            say_title("Şanslı Sandık")
            say("Merhaba cesur savaşçı!")
            say("Şansını denemek ister misin?")
            say("Belki harika bir eşya kazanırsın!")
            local s = select("Evet!", "Hayır, vazgeçtim.")
            if s == 2 then return end

            if pc.get_empty_inventory_count() < 1 then
                say("Envanterinde boş yer yok.")
                return
            end

            -- Rastgele item listesi
            local items = {
                19,     -- Kırık Kılıç
                11209,  -- +0 Zırh
                27003,  -- Kırmızı İksir (B)
                27992,  -- Yeşil İksir (M)
                71050,  -- Şans Kutusu
                25041,  -- Ruh Taşı
                50011   -- Event Kutusu
            }

            local rand = number(1, table.getn(items))
            local selected_item = items[rand]

            pc.give_item2(selected_item, 1)
            say("Tebrikler! Aşağıdaki eşyayı kazandın:")
            say_item_vnum(selected_item)
        end
    end
end
Kod:
Genişlet Daralt Kopyala


Bu şekilde olur sanırım sende bi bak üstad
 
Lua (Quest):
Genişlet Daralt Kopyala
quest random_item_giver begin
    state start begin
        when 20095.chat."Şansını Denemek İster misin?" begin
            say_title("Şanslı Sandık")
            say("Merhaba cesur savaşçı!")
            say("Şansını denemek ister misin?")
            say("Belki harika bir eşya kazanırsın!")
            local s = select("Evet!", "Hayır, vazgeçtim.")
            if s == 2 then return end

            if pc.get_empty_inventory_count() < 1 then
                say("Envanterinde boş yer yok.")
                return
            end

            -- Rastgele item listesi
            local items = {
                19,     -- Kırık Kılıç
                11209,  -- +0 Zırh
                27003,  -- Kırmızı İksir (B)
                27992,  -- Yeşil İksir (M)
                71050,  -- Şans Kutusu
                25041,  -- Ruh Taşı
                50011   -- Event Kutusu
            }

            local rand = number(1, table.getn(items))
            local selected_item = items[rand]

            pc.give_item2(selected_item, 1)
            say("Tebrikler! Aşağıdaki eşyayı kazandın:")
            say_item_vnum(selected_item)
        end
    end
end
Kod:
Genişlet Daralt Kopyala


Bu şekilde olur sanırım sende bi bak üstad
Bu çok daha güzel olmuş. Ayrıca envanter kontrolü de şahane. Birde günlük sınırlama yada tek seferlik kullanım olarak ayarlandımı tamamdır.
 
Geri
Üst