R 1
Roksam
Bvural41 1
Bvural41
kaptanmikro1 1
kaptanmikro1
[DEV]AB 1
[DEV]AB
emirhanHCL 1
emirhanHCL
farkmt2official 1
farkmt2official
TuZaKK 1
TuZaKK
Hikaye Ekle

[Python]Envanter Temizleme

  • Konuyu başlatan Konuyu başlatan kralcocuk
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 26
  • Görüntüleme Görüntüleme 7K
Videosunu daha önce paylaşmıştım, vakit olmadığından geliştiremedim veya paylaşamadım dosyayı.
@yarka0000quest ile yapılanını paylaşmış, python versiyonunu vereyim dedim.

http://www.turkmmo.com/quests/3361238-envanter-temizleme.html


Buton ekleme vs. anlatmıyorum diğer konudan kodları alabilirsiniz butonun koordinatıyla biraz oynamayla yenisini ekleyebilirsiniz.
Konuya buradan

Vereceğim kodlardaki hali itemi yere atar yani silmez. Bence bu halde olması item kaybını önleme açısından daha iyi ama quest ile yapılan versiyondaki gibi silinmesini istiyorsanız bir çoğunuzun server'ında envanterde "çöp kutusu" yani item silme eklentisi var. Verdiğim kodlardan "net.SendItemDropPacket(g)" kısmını
Kod:
constInfo.ItemSil_Slot = g
event.QuestButtonClick(constInfo.ItemSil_Index)

şeklinde düzeltirsiniz. Olduğu gibi kullanırsanız envanter temizleme süresi 10 dakikadır. Bir kere temizledikten sonra 10 dakika beklenmesi gerekir.



Kodlar:

Kod:
Diğer konudan "sonbasma" olarak aratın önünüze "sonbasma = 0" çıkacak altına "sontemizlik = 0" ekleyin.

Diğer konuda buton eklerken ismi "SiralaButton"du bu butonun adını "AtBut" yaptım ona göre eklersiniz.

Diğer konudaki "if self.SiralaButton:" eklenen yere

Kod:
		if self.AtBut:
			self.AtBut.SetEvent(ui.__mem_func__(self.ClickAtic  i))


diğer konudaki "def ClickSirala" eklediğimiz yere

Kod:
	def ClickAtici(self):
		self.questionDialog = uiCommon.QuestionDialog()
		self.questionDialog.SetText("Tüm itemleri yere atmak istiyor musun?")
		self.questionDialog.SetAcceptEvent(ui.__mem_func__  (self.DropPack))
		self.questionDialog.SetCancelEvent(ui.__mem_func__  (self.CloseDrop))
		self.questionDialog.Open()	
		
	def DropPack(self):
		if app.GetTime() > self.sontemizlik:
			for g in xrange(180):
				net.SendItemDropPacket(g)
			self.CloseDrop()
			self.sontemizlik = app.GetTime() + 60*10
		else:
			v = self.sontemizlik - app.GetTime()
			chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Bir sonraki temizlik için 10 dakika beklemelisin. Kalan: %d" % (v))


	def CloseDrop(self):
		self.questionDialog.Close()
		self.questionDialog=None

Ekleyin.
Bu kadar.

Uiinventory.py dosyamın tam halini link olarak veriyorum, takıldığınız yerde bakarsınız.



py içinde aratacaklarınız: "Atbut", "DropPack", "CloseDrop", "ClickAtici"
@Devinox

İş yoğunluğundan pc bakamıyorum daha paylaşılacak çok şey var, özel rütbe sistemleri gibi. Şimdilik beklemede hepsi.
Bu arada İstanbul'da part time iş arayan varsa yanıma alabilirim :smile:

Not: Kodlarda değişiklik yapabilirsiniz örneğin, item silmek istiyor musun kısmını pickmoney yani inputla yada butonlarla değiştirebilirsiniz böylece sadece seçilen envanterin itemleri silinir. Daha basit hali ise yukarıdan biraz kod çekerek otomatik olarak bulunan envanteri bilmesi olur onu da veririm sonra.
 
Son düzenleme:
böyle lag yapar questle ilişkilendirip direk silse daha iyi olur bence
yinede teşekkürler sistemi devinoxmu yaptı xd
 
Teşşekürler

sana göndereceklerimi unutmadım vakit bulduğumda atıcam.

Kodu düzelttim birisi denerse çalışıyor mu görelim.

def Droppack aşağıdaki gibi değişin.
Bu haldeyken sadece hangi envanter sayfası açıksa o temizlenir.
def DropPack(self):
sayfa = self.inventoryPageIndex
if sayfa == 0:
pgx == 0
pg == 44
elif sayfa == 1:
pgx == 44
pg == 89
elif sayfa == 2:
pgx == 89
pg == 134
elif sayfa == 3:
pgx == 134
pg == 180
if app.GetTime() > self.sontemizlik:
for g in xrange(pgx, pg-1):
net.SendItemDropPacket(g)
self.CloseDrop()
self.sontemizlik = app.GetTime() + 6*1
else:
v = self.sontemizlik - app.GetTime()
chat.AppendChat(chat.CHAT_TYPE_NOTICE, "Bir sonraki temizlik icin 10 dakika beklemelisin. Kalan: %d" % (v))
 
Ortak eline sağlık devamı gelecek bunların inşAllah :smile: @EviLShow; Sistemi ben yapmadım Adem yaptı, ben sadece src işlerine yoğunluk veriyorum.
 
Moderatör tarafında düzenlendi:

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

Geri
Üst