- import os
- import random
- GRUP_VNUM = 76001
- TEKLI_MOB_VNUM = 7550
- YIKICI_VNUM = 7592
- KULLANILACAK_KLASOR = "sungmahi_dungeon"
- ROOM1_X = 444
- ROOM1_Y = 147
- ROOM2_X = 403
- ROOM2_Y = 458
- DAGILIM_ALANI = 18
- kat_hedefleri = {
- 1: 40, 2: 48, 3: 52, 4: 56, 5: 60, 6: 64, 7: 72, 8: 76, 9: 80, 10: 100,
- 11: 84, 12: 92, 13: 96, 14: 100, 15: 104, 16: 112, 17: 116, 18: 120, 19: 124, 20: 152,
- 21: 132, 22: 136, 23: 140, 24: 144, 25: 152, 26: 156, 27: 160, 28: 164, 29: 172, 30: 200,
- 31: 176, 32: 180, 33: 184, 34: 192, 35: 196, 36: 200, 37: 204, 38: 212, 39: 216, 40: 252,
- 41: 220, 42: 224, 43: 232, 44: 236, 45: 240, 46: 244, 47: 252, 48: 260, 49: 276, 50: 300
- }
- seals_katlari = [1, 9, 17, 25, 33, 37, 40, 48]
- survive_katlari = [2, 10, 18, 26, 35, 43, 47, 50]
- chess_katlari = [4, 8, 12, 16, 20, 24, 28, 32, 36, 41, 45, 49]
- if not os.path.exists(KULLANILACAK_KLASOR):
- os.makedirs(KULLANILACAK_KLASOR)
- def dosya_yaz(dosya_adi, baslik, merkez_x, merkez_y, grup_sayisi, tekli_sayisi, tekli_vnum=TEKLI_MOB_VNUM):
- dosya_yolu = os.path.join(KULLANILACAK_KLASOR, dosya_adi)
- with open(dosya_yolu, "w") as f:
- f.write("// {}\n".format(baslik))
- f.write("// Tip\tX\tY\tX-Mes\tY-Mes\tZ\tYon\tSure\tYuzde\tSayi\tVnum\n")
- for _ in range(grup_sayisi):
- rx = merkez_x + random.randint(-DAGILIM_ALANI, DAGILIM_ALANI)
- ry = merkez_y + random.randint(-DAGILIM_ALANI, DAGILIM_ALANI)
- f.write("g\t{}\t{}\t15\t15\t0\t0\t0s\t100\t1\t{}\n".format(rx, ry, GRUP_VNUM))
- for _ in range(tekli_sayisi):
- rx = merkez_x + random.randint(-DAGILIM_ALANI, DAGILIM_ALANI)
- ry = merkez_y + random.randint(-DAGILIM_ALANI, DAGILIM_ALANI)
- f.write("m\t{}\t{}\t15\t15\t0\t0\t0s\t100\t1\t{}\n".format(rx, ry, tekli_vnum))
- print("Zindan Regenleri ve Eksik Gorev Dosyalari Olusturuluyor...\n")
- for kat, hedef in kat_hedefleri.items():
- dalga_hedefi = hedef // 4
- g_sayi = dalga_hedefi // 6
- t_sayi = dalga_hedefi % 6
- dosya_yaz("floor_{}_1.txt".format(kat), "Kat {} - Ana Dalga 1/4".format(kat), ROOM1_X, ROOM1_Y, g_sayi, t_sayi)
- if kat in seals_katlari:
- dosya_yaz("floor_{}_seals.txt".format(kat), "Kat {} - Muhur Dikkat Dagitici Moblar".format(kat), ROOM2_X, ROOM2_Y, 5, 0) # 30 Mob
- if kat in survive_katlari:
- dosya_yaz("floor_{}_survive.txt".format(kat), "Kat {} - Hayatta Kalma Yikicilari".format(kat), ROOM2_X, ROOM2_Y, 0, 25, YIKICI_VNUM) # 25 Yikici
- if kat in chess_katlari:
- dosya_yaz("floor_{}_2.txt".format(kat), "Kat {} - Satranc Mob Havuzu".format(kat), ROOM2_X, ROOM2_Y, 10, 0) # 60 Mob
- dosya_yaz("penalty_mobs.txt", "Genel Ceza Moblari (24 Mob)", ROOM2_X, ROOM2_Y, 4, 0)
- dosya_yaz("key_mobs.txt", "Genel Anahtar Moblari (50 Mob)", ROOM2_X, ROOM2_Y, 8, 2)
- dosya_yaz("curse_mobs.txt", "Genel Lanet/Panzehir Moblari (150 Mob)", ROOM2_X, ROOM2_Y, 25, 0)
- print("Islem Basarili!")
- print("Olusan butun txt'leri FTP'de data/dungeon/sungmahi_dungeon/ icine firlat")