- Mesaj
- 136
- Çözümler
- 2
- Beğeni
- 8
- Puan
- 79
- Ticaret Puanı
- 0
Merhaba arkadaşlar ben oyuna yeni sandık ekledim. Amacım sandığa sağ tıklayınca direk item vermek yerine kullanıcının seçim yapmasını sağlamak seçtiği itemin envantere gelmesini sağlamaktı. Quest dosyamı başarıyla ./qc yöntemi ile okuttup derledim. Fakat sorun şu, sandıklara sağ tıklayınca herhangi birşey olmuyor. seçim ekranı gelmiyor.
@Whistle hocam sizin bu konuda bir fikriniz var mı sandıkları açmadan itemi seçmek için quest sistemi uygun mu sizce ?
special_item_group.txt dosyama eklediğim sandıkların ilk ikisi
Group item_box_1
{
Vnum 58620
Type Quest
1 43068 1 1
2 43069 1 1
}
Group item_box_2
{
Vnum 58621
Type Quest
1 54034 1 1
2 54035 1 1
3 54072 1 1
4 54087 1 1
5 58032 1 1
6 56020 1 1
}
böyle yukardakine benzer devam ediyor diğer sandıklarda
Sandıkların item_proto.txt deki kısımları (İLK BAŞTA ITEM_GIFTBOX yapmıştım normal sandık gibi itemi direk rastgele verince ITEM_QUEST çevirdim.)
(İtem_names.txt dosyamdaki isimleri okumuyor bu arada test amaçlı Kutucuk ve Kutum diye item_protot.txt ' de adlandırdığım isimleri oyun okuyor. )
58620 Kutucuk ITEM_QUEST 0 1 ANTI_SELL | ANTI_STACK NONE NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
58621 Kutum ITEM_QUEST 0 1 ANTI_SELL | ANTI_STACK NONE NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
aşağıda quest dosyamı paylaşıyorum birden fazla sandık için kullancağım için hepsi için ayrı ayrı quest yazmak yerine tek quest dosyası belirlenen vnum aralıklardaki sandıkları quest olarak çalıştırsın istedim. quest vnumları special_item_group.txt dosyasından kontrol ediyor. (NOT: SANDIKLAR EKLENMEDEN ÖNCE ÇAKIŞMA OLMAMASI İÇİN VNUMLARI PROTO DOSYASINDAN VE SPECİAL İTEM GROUP DOSYASINDAN KONTROL EDİLDİ
dosya adı : dynamic_select_box.lua
quest dynamic_select_box begin
state start begin
when item.use begin
local vnum = item.get_vnum()
if vnum >= 58620 and vnum <= 58630 then
local group = get_special_item_group(vnum)
if not group then
say(string.format("Sandik #%d icin grup bulunamadi.", vnum))
return
end
local n = table.getn(group)
local options = {}
for i = 1, n do
local item_name = item_index_table.name[group[1]]
options = item_name
end
table.insert(options, "Vazgec")
local choice = select(unpack(options))
if choice == table.getn(options) then
return -- Vazgeç seçilmiş
end
local selected_item = group[choice]
if selected_item then
pc.give_item2(selected_item[1], 1)
item.remove()
end
end
end
end
end
ch syserr logunda aşagıdakini verdi
Sep 24 02:01:52 :: Murphy: USE_ITEM Kutucuk (inven 1, cell: 0)
@Whistle hocam sizin bu konuda bir fikriniz var mı sandıkları açmadan itemi seçmek için quest sistemi uygun mu sizce ?
special_item_group.txt dosyama eklediğim sandıkların ilk ikisi
Group item_box_1
{
Vnum 58620
Type Quest
1 43068 1 1
2 43069 1 1
}
Group item_box_2
{
Vnum 58621
Type Quest
1 54034 1 1
2 54035 1 1
3 54072 1 1
4 54087 1 1
5 58032 1 1
6 56020 1 1
}
böyle yukardakine benzer devam ediyor diğer sandıklarda
Sandıkların item_proto.txt deki kısımları (İLK BAŞTA ITEM_GIFTBOX yapmıştım normal sandık gibi itemi direk rastgele verince ITEM_QUEST çevirdim.)
(İtem_names.txt dosyamdaki isimleri okumuyor bu arada test amaçlı Kutucuk ve Kutum diye item_protot.txt ' de adlandırdığım isimleri oyun okuyor. )
58620 Kutucuk ITEM_QUEST 0 1 ANTI_SELL | ANTI_STACK NONE NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
58621 Kutum ITEM_QUEST 0 1 ANTI_SELL | ANTI_STACK NONE NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
aşağıda quest dosyamı paylaşıyorum birden fazla sandık için kullancağım için hepsi için ayrı ayrı quest yazmak yerine tek quest dosyası belirlenen vnum aralıklardaki sandıkları quest olarak çalıştırsın istedim. quest vnumları special_item_group.txt dosyasından kontrol ediyor. (NOT: SANDIKLAR EKLENMEDEN ÖNCE ÇAKIŞMA OLMAMASI İÇİN VNUMLARI PROTO DOSYASINDAN VE SPECİAL İTEM GROUP DOSYASINDAN KONTROL EDİLDİ
dosya adı : dynamic_select_box.lua
quest dynamic_select_box begin
state start begin
when item.use begin
local vnum = item.get_vnum()
if vnum >= 58620 and vnum <= 58630 then
local group = get_special_item_group(vnum)
if not group then
say(string.format("Sandik #%d icin grup bulunamadi.", vnum))
return
end
local n = table.getn(group)
local options = {}
for i = 1, n do
local item_name = item_index_table.name[group[1]]
options = item_name
end
table.insert(options, "Vazgec")
local choice = select(unpack(options))
if choice == table.getn(options) then
return -- Vazgeç seçilmiş
end
local selected_item = group[choice]
if selected_item then
pc.give_item2(selected_item[1], 1)
item.remove()
end
end
end
end
end
ch syserr logunda aşagıdakini verdi
Sep 24 02:01:52 :: Murphy: USE_ITEM Kutucuk (inven 1, cell: 0)
Son düzenleme: