M 1
m2referencee
Fethi Polat 1
Fethi Polat
InfernoShade 1
InfernoShade
farkmt2official 1
farkmt2official
romegames 1
romegames
bikral 1
bikral
PrimeAC 1
PrimeAC
shrpnl 1
shrpnl
Agora Metin2 1
Agora Metin2
xranzei 1
xranzei
Bvural41 1
Bvural41
Hikaye Ekle

Altın Konu Python | Mob Drop İtem Anotasyon Scripti

  • Konuyu başlatan Konuyu başlatan Esinti
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 21
  • Görüntüleme Görüntüleme 3K

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!

Group kısmına da mob'un ismini yazmasını sağlayabilir misiniz?
 
Paylaşım için teşekkürler
 
Paylaşım için teşekkürler
 
Group kısmına da mob'un ismini yazmasını sağlayabilir misiniz?
[CODE lang="cpp" title="mobname itemname ekler"]import re, os

def load_item_names(item_names_filename):
item_names = {}
with open(item_names_filename, "r", encoding="windows-1254") as f:
for line in f:
line = line.strip()
if not line or line.startswith("VNUM"):
continue
parts = line.split("\t")
if len(parts) < 2:
parts = line.split()
if len(parts) < 2:
continue
vnum = parts[0]
name = " ".join(parts[1:])
else:
vnum = parts[0]
name = parts[1].strip()
item_names[vnum] = name
return item_names

def load_mob_names(mob_names_filename):
mob_names = {}
with open(mob_names_filename, "r", encoding="windows-1254") as f:
for line in f:
line = line.strip()
if not line or line.startswith("VNUM"):
continue
parts = line.split("\t")
if len(parts) < 2:
parts = line.split()
if len(parts) < 2:
continue
vnum = parts[0]
name = " ".join(parts[1:])
else:
vnum = parts[0]
name = parts[1].strip()
mob_names[vnum] = name
return mob_names

def annotate_mob_drop_items(mob_drop_filename, item_names, mob_names, output_filename):
with open(mob_drop_filename, "r", encoding="windows-1254") as fin, open(output_filename, "w", encoding="windows-1254") as fout:
current_mob_vnum = None
current_mob_name = ""

for line in fin:
stripped_line = line.strip()

if stripped_line.startswith("Mob"):
parts = stripped_line.split()
if len(parts) > 1:
current_mob_vnum = parts[1]
current_mob_name = mob_names.get(current_mob_vnum, "Bilinmeyen Mob")
fout.write(line.rstrip() + f" -- {current_mob_name}\n")
continue

if re.match(r"^\d+", stripped_line):
tokens = stripped_line.split()
if len(tokens) >= 2:
vnum = tokens[1]
item_name = item_names.get(vnum, "Bilinmeyen Eşya")
fout.write(line.rstrip() + f" -- {item_name}\n")
continue

fout.write(line)

if __name__ == "__main__":
current_dir = os.getcwd()

item_names_file = os.path.join(current_dir, "item_names.txt")
mob_names_file = os.path.join(current_dir, "mob_names.txt")
mob_drop_file = os.path.join(current_dir, "mob_drop_item.txt")
output_file = os.path.join(current_dir, "new_mob_drop_item.txt")

if not os.path.exists(item_names_file) or not os.path.exists(mob_drop_file) or not os.path.exists(mob_names_file):
print("Item names, mob names veya mob drop dosyalarından biri eksik!")
else:
item_names = load_item_names(item_names_file)
mob_names = load_mob_names(mob_names_file)
annotate_mob_drop_items(mob_drop_file, item_names, mob_names, output_file)

print("Tamamlandı:", output_file)
[/CODE]

yapay zeka saolsun :)

eski hali

[CODE title="eski"]Group µÎ¸ñ´Á´ë
{
Mob 103
Type drop
1 1012 1 0.2
2 4012 1 0.2
3 11402 1 0.2
4 16022 1 0.2
}
Group Ǫ¸¥´Á´ë
{
Mob 104
Type drop
1 32 1 0.2
2 52 1 0.2
3 15002 1 0.2
4 2022 1 0.2
5 16002 1 0.2
}
Group Ǫ¸¥µÎ¸ñ´Á´ë
{
Mob 105
Type drop
1 11602 1 0.2
2 12482 1 0.2
3 15022 1 0.2
4 16062 1 0.2[/CODE]
yeni hali

[CODE title="yeni"]Group µÎ¸ñ´Á´ë
{
Mob 103 -- Alfa Kurt
Type drop
1 1012 1 0.2 -- Kobra Hançeri+2
2 4012 1 0.2 -- Dokuz Pala+2
3 11402 1 0.2 -- Gök Mavisi Takım+2
4 16022 1 0.2 -- Bakır Kolye+2
}
Group Ǫ¸¥´Á´ë
{
Mob 104 -- Mavi Kurt
Type drop
1 32 1 0.2 -- Hilal kılıç+2
2 52 1 0.2 -- Geniş kılıç+2
3 15002 1 0.2 -- Deri Ayakkabı+2
4 2022 1 0.2 -- Birleşik Yay+2
5 16002 1 0.2 -- Tahta Kolye+2
}
Group Ǫ¸¥µÎ¸ñ´Á´ë
{
Mob 105 -- Alfa Mavi Kurt
Type drop
1 11602 1 0.2 -- Ağıt Plaka Zırh+2
2 12482 1 0.2 -- Kanlı Kask+2
3 15022 1 0.2 -- Bambu Derisi Ayakkabı+2
4 16062 1 0.2 -- Altın Kolye+2[/CODE]
 
üstüne birkaç daha iyileştirmeyle çok işe yarar bir kod olabilir
 

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

Geri
Üst