OnurBoyla 1
OnurBoyla
mavzermete 1
mavzermete
xranzei 1
xranzei
Manwe Work 1
Manwe Work
noisiv 1
noisiv
Hikaye Ekle

Metin2 Hile İstek [Python] Yardım lazım

  • Konuyu başlatan Konuyu başlatan Zayvoh
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 6
  • Görüntüleme Görüntüleme 783

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!

import sY1jO4zV as chr
import fF8rC0aC as net
import chat


def FindAndTrade():
start = 0
end = 2000000
playerVID = 0

for vid in range(start, end):
if chr.GetInstanceType(vid) != 6:
continue

if chr.GetNameByVID(vid) == "test":
playerVID = vid
break

if playerVID != 0:
net.SendExchangeStartPacket(playerVID)
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Oyuncu 'test1' bulunamadı.")

FindAndTrade()



Burdaki kodu etraftaki oyuncuları arayıp belirlediğim isimdeki oyuncuya ticaret atması için kullanıyorum , ilk 3-5 denememde çalışmasına rağmen daha sonra hesap yanımda olmasına rağmen , else kısmına atarak oyuncuyu bulmadığını söylüyor.Değişen hiç bir şey olmadı.

Bilgisi olan biri yardımcı oluırsa sevinirim.

Not : Modüllerin değişikliğinin sebebi serverin farklı modülleri kullanması.Bir pvp sunucusu.
 

Ekli dosyalar

  • a.py
    a.py
    533 bayt · Görüntüleme: 0
[CODE lang="python" title="Python"]import sY1jO4zV as chr
import fF8rC0aC as net
import chat

def FindAndTrade():
start = 0
end = 2000000
playerVID = 0

for vid in range(start, end):
if chr.GetInstanceType(vid) != 6:
continue

if chr.GetNameByVID(vid) == "test1": # Oyuncu adınızı "test1" olarak düzeltilmiş haliyle kontrol edin
playerVID = vid
break

if playerVID != 0:
net.SendExchangeStartPacket(playerVID)
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Oyuncu 'test1' bulunamadı.")

FindAndTrade()[/CODE]

Bu düzeltilmiş kodda bazı değişiklikler yaptım:

1. `if chr.GetNameByVID(vid) == "test1"` satırında oyuncu adınızı düzgün şekilde kontrol edin (küçük harf "test1").

2. `playerVID` değişkenini döngünün dışında saklayarak, oyuncu bulunursa bu değerin korunmasını sağladım.

Bu düzeltilmiş kod, "test1" adlı bir oyuncuyu bulur ve bulursa bu oyuncuya ticaret başlatır. Bulunamazsa bir bilgi mesajı görüntüler.
 
Verdiğim kod olmaz ise bunu dene bu sefer

import sY1jO4zV as chr
import fF8rC0aC as net
import chat

def FindAndTrade():
start = 0
end = 2000000
playerVID = 0

for vid in range(start, end):
if chr.GetInstanceType(vid) != 6:
continue

if chr.GetNameByVID(vid) == "test1": # Oyuncu adınızı "test1" olarak kontrol edin
playerVID = vid
break

if playerVID != 0:
net.SendExchangeStartPacket(playerVID)
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Oyuncu 'test1' bulunamadı.")

FindAndTrade()
 
İkisinde de oyuncuyu bulmuyor fakat şöyle bir şey var

if chr.GetInstanceType(vid) != 6:

bu koşulu 0 veya 1 yaptıgımda mobları algılıyor.

Emin olmak için bunu kullanıyorum

if playerVID != 0:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Oyuncunun VID'si: " + str(playerVID))
yP5wM4jK.SetAttackKeyState(TRUE)

Dediğim gibi 6 yi 1 e çektiğimde mobu algılıyor , VID bilgisini veriyor ve attack moduna geçiyor ama oyuncuya geldiğinde tepki alamıyorum.Bulunamadı diyor.
 

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

Geri
Üst