Fethi Polat 1
Fethi Polat
Bvural41 1
Bvural41
OnurBoyla 1
OnurBoyla
mavzermete 1
mavzermete
xranzei 1
xranzei
Manwe Work 1
Manwe Work
noisiv 1
noisiv
Hikaye Ekle

Cevaplandı Python bilgili kişilere özle SORU-CEVAP

  • Konuyu başlatan Konuyu başlatan erdemk50
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 5
  • Görüntüleme Görüntüleme 489
  • Etiketler Etiketler
    python

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!

Python kullanarak,
basit bir otomatik pelerin basma scripti yazmaya çalıştım
fakat çalıştıramadım. Syser yok fakat pelerin basmıyor.
Butonlar bu fonksiyonlara bağlı sorun nerde olabilir ?

Pelerin basmıyor.

[CODE lang="python" title="PYTHON OTO PELERİN"]
def pelerinacik(self):
self.pelerinstat=1
color=self.comp.RGB(0,255,0)
self.pelerintxt.SetFontColor(color[0], color[1], color[2])
self.pelerinfonksiyon()
def pelerinkapali(self):
self.pelerinstat=0
color=self.comp.RGB(255,0,0)
self.pelerintxt.SetFontColor(color[0], color[1], color[2])
self.setInterval = WaitingDialogDelay()
self.setInterval.Close()

def pelerinfonksiyon(self):
net.SendItemUsePacket(70038)
if self.pelerinstat==1:
hitDelay=.5
try:
hitDelay=float(self.runDelay().GetText())
except:
hitDelay=.5
self.setInterval = WaitingDialogDelay()
self.setInterval.Open(hitDelay)
self.setInterval.SAFE_SetTimeOverEvent(self.pelerinfonksiyon)[/CODE]
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

for i in xrange(player.INVENTORY_PAGE_SIZE*player.INVENTORY_PAGE_COUNT):
if player.GetItemIndex(i) == 70038:
net.SendItemUsePacket(i)
break


Bu şekilde envanteri taratıp kullanabilirsin
Çözüm
for i in xrange(player.INVENTORY_PAGE_SIZE*player.INVENTORY_PAGE_COUNT):
if player.GetItemIndex(i) == 70038:
net.SendItemUsePacket(i)
break


Bu şekilde envanteri taratıp kullanabilirsin
Python kullanarak,
basit bir otomatik pelerin basma scripti yazmaya çalıştım
fakat çalıştıramadım. Syser yok fakat pelerin basmıyor.
Butonlar bu fonksiyonlara bağlı sorun nerde olabilir ?

Pelerin basmıyor.

[CODE lang="python" title="PYTHON OTO PELERİN"]
def pelerinacik(self):
self.pelerinstat=1
color=self.comp.RGB(0,255,0)
self.pelerintxt.SetFontColor(color[0], color[1], color[2])
self.pelerinfonksiyon()
def pelerinkapali(self):
self.pelerinstat=0
color=self.comp.RGB(255,0,0)
self.pelerintxt.SetFontColor(color[0], color[1], color[2])
self.setInterval = WaitingDialogDelay()
self.setInterval.Close()

def pelerinfonksiyon(self):
net.SendItemUsePacket(70038)
if self.pelerinstat==1:
hitDelay=.5
try:
hitDelay=float(self.runDelay().GetText())
except:
hitDelay=.5
self.setInterval = WaitingDialogDelay()
self.setInterval.Open(hitDelay)
self.setInterval.SAFE_SetTimeOverEvent(self.pelerinfonksiyon)[/CODE]
Dostum öncelikle bi baktım SendItemUsePacket ne işe yarıyor diye clientsource'den baktığımda sanırım içine item kodu giremezsin ilk argümanı gelen poArgs'a göre değişiyor window_type ve cell(slotIndex) o nedenle item kodu giremezsin diye düşünüyorum.

Yani şöyle Ahmet kişisi window_type -> Örneğin : INVENTORY adlı envanterindeki 5.ci SlotIndex'deki iteme tıkladı hooop sunucu bakar ki Ahmetin INVENTORY 5.ci SlotIndex'inde Cesaret Pelerini var ve bakıyor char_item.cpp'de UseItem'den 5.ci SlotIndex'deki İtemKodu Burada var. (Tabii bunu özetle anlattım işin içinde itemin typesi vs vs. bunlar var.)

sys_log'da görürsün inven : 1 - cell : 5
 
Son düzenleme:
Ayrıca clientsource'de cesaret pelerinini çalıştırma mantığı yada orada alabileceğin bir fonksiyon var veya yok mu hiçbir fikrim yok. Fakat GameSource dosyanız var ise sadece cmd.cpp ve cmd_general.cpp'ye ekleme yaparak kullanabilirsiniz veya Client'den Game'ye aynı net.SendUseItemPacket gibi net.SendAggrMonster() gibi bir fonksiyonu kullanıp Client'den Game'ye paket gönderip çalıştırabilirsiniz. Tercih sizin.


Client'den Game veya Game'den Client'e Nasıl Paket Transferi Yapabilirim diyorsanız;

https://forum.turkmmo.com/konu/3854...e-client-paket-transferini-nasil-yapabilirim/
Bu konuyu takip edin.
 
Son düzenleme:
Dostum öncelikle bi baktım SendItemUsePacket ne işe yarıyor diye clientsource'den baktığımda sanırım içine item kodu giremezsin ilk argümanı gelen poArgs'a göre değişiyor window_type ve cell(slotIndex) o nedenle item kodu giremezsin diye düşünüyorum.

Yani şöyle Ahmet kişisi window_type -> Örneğin : INVENTORY adlı envanterindeki 5.ci SlotIndex'deki iteme tıkladı hooop sunucu bakar ki aaaa Ahmetin INVENTORY 5.ci SlotIndex'inde Cesaret Pelerini var Aaa bakıyor char_item.cpp'de UseItem'den Aaaa 5.ci SlotIndex'deki İtemKodu Burada var. (Tabii bunu özetle anlattım işin içinde itemin typesi vs vs. bunlar var.)
Çok teşekkür ederim bilgiler için.
SendItemUsePacket kısmını
Yanlış kullandım galiba.
Verdiğiniz bilgilerden yola çıkarak tekrardan bir şekle sokup deneme yanılma yoluyla sonuca ulaşmaya çalışıcam.
 

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

Geri
Üst