Çözüldü Hareketsiz Kalınca Sorgusu Yaptım Nerede Hata Var.

  • Konuyu açan Konuyu açan asilords
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 16
  • Gösterim Gösterim 184
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

asilords

Üye
Üye
Mesaj
59
Çözümler
1
Beğeni
25
Puan
669
Ticaret Puanı
0
asd:
Genişlet Daralt Kopyala
    if (get_dword_time() - ch->GetLastMoveTime() > 60000*3)
    {

Char.cpp de hangi fonksiyonun içine yazmalıyım bu sorguyu?
 
Son düzenleme:
Çözüm
game.py:
Genişlet Daralt Kopyala
#bul
class GameWindow(ui.ScriptWindow):
    def __init__(self, stream):

# self.playerGauge = None altına ekle:
        self.LastMoveTime = False
        self.AfkCheck = False
    
    
    
#bul
def OnUpdate(self):

#üstüne ekle

    def CheckAfk(self):
        if self.interface:
            if self.LastMoveTime:
                if app.GetTime() - self.LastMoveTime >= 5 and self.AfkCheck == False:
                    #net.SendChatPacket("/afk 1")
                    chat.AppendChat(1,"afk aktif")
                    self.AfkCheck = True
                elif self.AfkCheck and (app.GetTime() - self.LastMoveTime < 5):
                    #net.SendChatPacket("/afk 0")
                    chat.AppendChat(1,"afk deaktif")...
Oyunda bir süre geçince karekter hareket etmişmi sorgusu yazdım ama çalışmıyori Oyunda buna benzer fonksiyon var mı?

Gerekli olan karekterin hareket edip etmediği afk kalmış gibi düşünülebilir.
Yazdığın sorguyu tam olarak atabilir misin? Paylaştığın kod satırlarıyla mı yapmayı amaçlıyorsun?
 
Sunucu tarafında da bunu halledebilirsiniz ama benden bir tavsiye , client - python tarafından bu işi halletmeniz çok daha iyi olur.
 
Sunucu tarafında da bunu halledebilirsiniz ama benden bir tavsiye , client - python tarafından bu işi halletmeniz çok daha iyi olur.
client tarafında GetLastMoveTime() Sorgusu yok. Yani son hareket zamanı, halihazırda sunucu tarafında var sadece
ass:
Genişlet Daralt Kopyala
    if (get_dword_time() - ch->GetLastMoveTime() > 60000*3)
    {
bu sorguyu char.cpp de nereye yazacağımı bulamadım.
 
client tarafında GetLastMoveTime() Sorgusu yok. Yani son hareket zamanı, halihazırda sunucu tarafında var sadece
Client tarafını dert ediyorsan yardımcı olurum sana, sen sunucu tarafında afk olunca gerçekleşmesini istediğin şeyleri bir komuta koy , onun aracılığıyla gerçekleştirirsin. İlla sunucuda kontrol edeceğim diyosan da eve gidince bakarım istediğine.
 
Client tarafını dert ediyorsan yardımcı olurum sana, sen sunucu tarafında afk olunca gerçekleşmesini istediğin şeyleri bir komuta koy , onun aracılığıyla gerçekleştirirsin. İlla sunucuda kontrol edeceğim diyosan da eve gidince bakarım istediğine.
Gerçekleşmesini istediklerim şuan belirsiz benim için bir süre afk kalınca çalışan fonksiyon gerekli yardımcı olursanız sevinirim.
 
game.py:
Genişlet Daralt Kopyala
#bul
class GameWindow(ui.ScriptWindow):
    def __init__(self, stream):

# self.playerGauge = None altına ekle:
        self.LastMoveTime = False
        self.AfkCheck = False
    
    
    
#bul
def OnUpdate(self):

#üstüne ekle

    def CheckAfk(self):
        if self.interface:
            if self.LastMoveTime:
                if app.GetTime() - self.LastMoveTime >= 5 and self.AfkCheck == False:
                    #net.SendChatPacket("/afk 1")
                    chat.AppendChat(1,"afk aktif")
                    self.AfkCheck = True
                elif self.AfkCheck and (app.GetTime() - self.LastMoveTime < 5):
                    #net.SendChatPacket("/afk 0")
                    chat.AppendChat(1,"afk deaktif")
                    self.AfkCheck = False


#def OnUpdate(self): içinde app.UpdateGame() bul ve altına ekle

        if self.interface:
            self.CheckAfk()
        elif self.AfkCheck:
            self.AfkCheck = False
            #net.SendChatPacket("/afk 0")
            chat.AppendChat(1,"afk deaktif")


#Bul def MoveUp(self): ,  MoveDown(self): , MoveLeft(self): , def MoveRight(self):
#ve bu 4 farklı fonksiyonun hepsinin içine şu satırı ekle

self.LastMoveTime = app.GetTime()

Bu şekilde sadece w,a,s,d ile hareket edince afk durumu bozulur, CheckAfk fonksiyonu içindeki 5 değeri de kaç saniye hareket edilmediğinde afk kalacağını belirtiyor. Sunucu tarafında nasıl bir işlem yaptıracağını da söylersin ona göre ek kontroller eklememiz gerekir , üstünkörü bi şekilde bunu temel alıp üstüne ekleyebilirsin. Başka şeylerin de afk durumunu bozmasını istiyosan move fonksiyonlarına eklediğin satırları diğer klavye veyahut mouse fonksiyonlarının içine ekleyebilirsin.
 
Son düzenleme:
Çözüm
game.py:
Genişlet Daralt Kopyala
#bul
class GameWindow(ui.ScriptWindow):
    def __init__(self, stream):

# self.playerGauge = None altına ekle:
        self.LastMoveTime = False
        self.AfkCheck = False
     
     
     
#bul
def OnUpdate(self):

#üstüne ekle

    def CheckAfk(self):
        if self.PrintCoord.IsShow():
            if self.LastMoveTime:
                if app.GetTime() - self.LastMoveTime >= 5 and self.AfkCheck == False:
                    #net.SendChatPacket("/afk 1")
                    chat.AppendChat(1,"afk aktif")
                    self.AfkCheck = True
                elif self.AfkCheck and (app.GetTime() - self.LastMoveTime < 5):
                    #net.SendChatPacket("/afk 0")
                    chat.AppendChat(1,"afk deaktif")
                    self.AfkCheck = False


#def OnUpdate(self): içinde app.UpdateGame() bul ve altına ekle

        if self.interface:
            self.CheckAfk()
        elif self.AfkCheck:
            self.AfkCheck = False
            #net.SendChatPacket("/afk 0")
            chat.AppendChat(1,"afk deaktif")


#Bul def MoveUp(self): ,  MoveDown(self): , MoveLeft(self): , def MoveRight(self):
#ve bu 4 farklı fonksiyonun hepsinin içine şu satırı ekle

self.LastMoveTime = app.GetTime()

Bu şekilde sadece w,a,s,d ile hareket edince afk durumu bozulur, CheckAfk fonksiyonu içindeki 5 değeri de kaç saniye hareket edilmediğinde afk kalacağını belirtiyor. Sunucu tarafında nasıl bir işlem yaptıracağını da söylersin ona göre ek kontroller eklememiz gerekir , üstünkörü bi şekilde bunu temel alıp üstüne ekleyebilirsin. Başka şeylerin de afk durumunu bozmasını istiyosan move fonksiyonlarına eklediğin satırları diğer klavye veyahut mouse fonksiyonlarının içine ekleyebilirsin.
Teşekkürler hemen deniyorum dönüş yapacağım.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst