for i in xrange(player.INVENTORY_PAGE_SIZE*player.INVENTORY_PAGE_COUNT):
for i in xrange(player.INVENTORY_SLOT_COUNT):
Aynen kral taşlar orda olduğundan dolayı görmüyor büyük ihtimalle normalde envaterde olunca direk gelmesi lazım o küçük pencereyeK envanterindeki taşları mı sürükleyemiyorsunuz?
kanka o pencere sürükle bırak penceresi değil zaten otomatik görüyor taşları ve orda çıkıyor bence sorun quest ile alakalı olabilir ama çözemedimHangi k envanteri kullanıyorsunuz bilmiyorum ama aklıma iki senaryo geliyor. Eğer her k envanteri için farklı window türü tanımlanmışsa sürüklemeye çalıştığınız pencerede bu tanımlı olmayabilir. Birde k envanter ekstra pos ekliyor. Clientinizi debug modda derleyip konsoldan hangi fonksiyonların çalıştığına bakabilirsiniz.
quest guild_building_melt begin
state start begin
function GetOreRefineCost(cost)
if pc.empire != npc.empire then
return 3 * cost
end
if pc.get_guild() == npc.get_guild() then
return cost * 0.9
end
return cost
end
function GetOreRefineGoodPct()
return 60
end
function GetOreRefineBadPct()
return 30
end
function GetMyRefineNum(race)
return race - 20060 + 50601
end
function IsRefinableRawOre(vnum)
return vnum >= 50601 and vnum <= 50613
end
function DoRefineDiamond(pct)
local from_postfix
local from_name = item_name(item.vnum)
local to_vnum = item.vnum + 20
local to_name = item_name(to_vnum)
local to_postfix
if under_han(from_name) then
from_postfix = ""
else
from_postfix = ""
end
if under_han(to_name) then
to_postfix = ""
else
to_postfix = ""
end
say("100 " .. from_name .. from_postfix .. " toplaman lazım ki ")
say(to_name .. to_postfix .. "üretimi yapabilesin.")
if item.count >= 100 then
say("Başarı ihtimalin"..pct.."%."..guild_building_melt.GetOreRefineCost(10000).." Yang gerekli.")
say("Denemek istiyormusun?")
local s = select("Evet", "Hayır")
if s == 1 then
if pc.get_gold() < guild_building_melt.GetOreRefineCost(10000) then
say("Daha çok Yang lazım.")
return
end
if pc.diamond_refine(10000, pct) then
say("Tebrik ederim. Cevherler başarıyla işlendi. şimdi senin:")
say_item(to_name, to_vnum, "")
else
say("Cevher işlenme olayı başarısız.")
end
end
else
say("100 tane topla...")
end
end
function DoRefine(pct)
local from_postfix
local from_name = item_name(item.vnum)
local to_vnum = item.vnum + 20
local to_name = item_name(to_vnum)
local to_postfix
if under_han(from_name) then
from_postfix = ""
else
from_postfix = ""
end
if under_han(to_name) then
to_postfix = ""
else
to_postfix = ""
end
say("Önce 100 " .. from_name .. from_postfix .. "toplaman lazım ki")
say("Ruh Taşı +0, Ruh Taşı +1 veya Ruh Taşı +2")
say(to_name .. to_postfix .. "üretebilesin.")
if item.count >= 100 then
say("Başarı ihtimalin"..pct.."%."..guild_building_melt.GetOreRefineCost(3000).." Yang ödemen gerekiyor.")
say("Denemek istiyor musun?")
local s = select("Evet", "Hayır")
if s == 1 then
if pc.get_gold() < guild_building_melt.GetOreRefineCost(3000) then
say("Yeterli Yang yok.")
return
end
local selected_item_cell = select_item()
if selected_item_cell == 0 then
say("Bana meteoridleri göster.")
return
end
local old_item = item.get_id()
if not item.select_cell(selected_item_cell) then
say("Bu istediğimiz malzeme değil.")
return
end
-- checken, ob der meteorit ist
if item.vnum < 28000 or item.vnum >= 28300 then
say("Bunu doğru seçmedin.")
return
end
item.select(old_item)
if pc.ore_refine(3000, pct, selected_item_cell) then
say("Tebrik ederim, islem tamamlandi.Sonuç:")
say_item(to_name, to_vnum, "")
else
say("İşlem Başarılı olmadı.")
end
end
else
say("100 tane topla.")
end
end
when
20060.take or
20061.take or
20062.take or
20063.take or
20064.take or
20065.take or
20066.take or
20067.take or
20068.take or
20069.take or
20070.take or
20071.take or
20072.take
with guild_building_melt.GetMyRefineNum(npc.race) == item.vnum
begin
if item.vnum == 50601 then
guild_building_melt.DoRefineDiamond(guild_building_melt.GetOreRefineGoodPct())
else
guild_building_melt.DoRefine(guild_building_melt.GetOreRefineGoodPct())
end
end
when
20060.take or
20061.take or
20062.take or
20063.take or
20064.take or
20065.take or
20066.take or
20067.take or
20068.take or
20069.take or
20070.take or
20071.take or
20072.take
with guild_building_melt.IsRefinableRawOre(item.vnum) and
guild_building_melt.GetMyRefineNum(npc.race) != item.vnum
begin
if item.vnum == 50601 then
guild_building_melt.DoRefineDiamond(guild_building_melt.GetOreRefineBadPct())
else
guild_building_melt.DoRefine(guild_building_melt.GetOreRefineBadPct())
end
end
when
20060.click or
20061.click or
20062.click or
20063.click or
20064.click or
20065.click or
20066.click or
20067.click or
20068.click or
20069.click or
20070.click or
20071.click or
20072.click
with npc.get_guild() == pc.get_guild() and pc.isguildmaster()
begin
say(" 3.000.000 Yang karşılığında iyi bir kimyager kullanabilirsin.")
if pc.get_gold() < 3000000 then
say("3.000.000 Yang getir.")
else
say("Hangi tür üzerinde çalışan kimyager istiyorsun?")
local sel = 0
local timetable1 = {"Elmas", "Fosiller", "Bakır", "Gümüş", "Altın", "Yeşim", "Devam", "Kapat"}
local valuetable1 = {14043, 14045, 14046, 14047, 14048, 14049, 0, -1}
local timetable2 = {"Abanoz", "İnci", "Beyaz Altın", "Kristal", "Ametist", "Elmas", "Devam", "Kapat"}
local valuetable2 = {14050, 10451, 14052, 14053, 14054, 14055, 0, -1}
repeat
local s = select_table(timetable1)
sel = valuetable1[s]
if sel == 0 then
local s = select_table(timetable2)
sel = valuetable2[s]
end
until sel != 0
if sel != -1 then
npc_num = sel + 20060 - 14043
if npc_num == npc.get_race() then
say("Bu malzeme ile çalısması mümkün değil.")
else
pc.changegold(-3000000)
building.reconstruct(sel)
end
else
say("Kapat")
end
end
end
end
end
Çok teşekkür ederim reis sabırsızlıkla bekliyorum seniSorun cevher işlemesi için açılan pencereye K envanterin taş slotlarının eklenmesi gerek. Py tarafına uyarlama yapıldığı an sorun çözülcektir. Eve geçince yardımcı olacağım.
int pc_ore_refine(lua_State* L)
LPITEM metinstone_item = ch->GetInventoryItem(metinstone_cell);
LPITEM metinstone_item = ch->GetStoneInventoryItem(metinstone_cell);
src yok kanka be pufffBunun mevzusu malesef py ile çözülcek gibi değil.
Kodları takip ederek bu bölümü bulabildim ve burda taşları normal envanterden çektiriyor.
Biz bunu k envanterdeki envanterden çektirmeye çalışıyoruz.
Dipnot;
Çalışmadı, bakmaya devam
questlua_pc.cpp açılır ve aratılır.
C++:int pc_ore_refine(lua_State* L)
içinde bulunur
C++:LPITEM metinstone_item = ch->GetInventoryItem(metinstone_cell);
değiştirilir
C++:LPITEM metinstone_item = ch->GetStoneInventoryItem(metinstone_cell);
Source olmadan bu düzenlemeleri yapamazsanız. Bir süredir konularınızı takip ediyorum ancak hep bir cevap ile karşılaşıyorum. Önünüzde iki seçenek var ya source olan bir files kullanacaksınız ya da mevcut filesin srcyi isteyeceksinizsrc yok kanka be pufff
kanka bilişim yapıyor src işlemlerimi ama şu şekilde mesela 2-3 sorun biriktiriyorum not alıyorum 50-100tl veriyorum yapıyorlarSource olmadan bu düzenlemeleri yapamazsanız. Bir süredir konularınızı takip ediyorum ancak hep bir cevap ile karşılaşıyorum. Önünüzde iki seçenek var ya source olan bir files kullanacaksınız ya da mevcut filesin srcyi isteyeceksiniz
Bunun mevzusu malesef py ile çözülcek gibi değil.
Kodları takip ederek bu bölümü bulabildim ve burda taşları normal envanterden çektiriyor.
Biz bunu k envanterdeki envanterden çektirmeye çalışıyoruz.
Dipnot;
Çalışmadı, bakmaya devam
questlua_pc.cpp açılır ve aratılır.
C++:int pc_ore_refine(lua_State* L)
içinde bulunur
C++:LPITEM metinstone_item = ch->GetInventoryItem(metinstone_cell);
değiştirilir
C++:LPITEM metinstone_item = ch->GetStoneInventoryItem(metinstone_cell);
Merhaba,Üstünde durmadım bu problemin ama bi kaç güne durmam gerekicek o zaman dönüş sağlarım buraya.
for i in xrange(player.INVENTORY_PAGE_SIZE*player.INVENTORY_PAGE_COUNT):
for i in xrange(player.INVENTORY_SLOT_COUNT):
Desteğin için çok teşekkür ederim tekrardan eline sağlık kral.Hasan fidanın paylaştığı k envanter için sorun çözümü budur.
uiSelectItem.py
DeğiştirC++:for i in xrange(player.INVENTORY_PAGE_SIZE*player.INVENTORY_PAGE_COUNT):
C++:for i in xrange(player.INVENTORY_SLOT_COUNT):
çözüldü mü sorununuz?Desteğin için çok teşekkür ederim tekrardan eline sağlık kral.