İlan
04 Haz 2026 19 çevrimiçi üye Duyurular
Ana Sayfa C++ / C# / Python
Ana Sayfa Forum C++ / C# / Python Stone.txt Creator Script v1...
İlan Yan banner placeholder

Stone.txt Creator Script v1

yazilimci_r25 07.05.2026 16:09 876 görüntüleme 10 cevap
Son Mesaj
yazilimci_r25
Üye
Üye
Katılım19 Nis 2026
Konular7
Mesajlar78
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.05.2026 16:09 #1

1024-1024 4x4 Harita Baz Alır
Metin Vnum / Sayı / Süre (Saniye ve Saat Cinsinden Gir Örnek 5s-5h)
PC'de python yüklü olmalı
Kimin işine yarar bilmiyorum benim işimi gördü.
​ Python:
import random
import os
import math

# ======================================================
# HARITA AYARLARI (Gerektiğinde Düzenlenebilir)
# ======================================================
X_MIN, X_MAX = 50, 950
Y_MIN, Y_MAX = 50, 950
SAPMA        = 5
# ======================================================

# Renk Kodları (ANSI)
GREEN = '\033[92m'
YELLOW = '\033[93m'
RED = '\033[91m'
CYAN = '\033[96m'
RESET = '\033[0m'

def profesyonel_regen_olusturucu():
    current_path = os.path.dirname(os.path.abspath(__file__))
    dosya_adi = os.path.join(current_path, "stone.txt")
    
    os.system('cls' if os.name == 'nt' else 'clear') # Ekranı temizle
    print(CYAN + "="*60 + RESET)
    print(YELLOW + "        METİN TAŞI OLUŞTURMA SCRIPTİ V1 OBULUT        " + RESET)
    print(CYAN + "="*60 + RESET)

    metin_verileri = []
    toplam_hedef = 0
    
    while True:
        vnum_input = input(f"\n{YELLOW}Metin VNUM{RESET} (Tamamlamak için 'ok' yazınız): ")
        if vnum_input.lower() == 'ok':
            break
        
        try:
            vnum = int(vnum_input)
            adet = int(input(f"   {CYAN}->{RESET} Bu metinden kaç adet oluşturulsun?: "))
            sure = input(f"   {CYAN}->{RESET} Yenilenme süresi (Varsayılan 90s): ") or "90s"
            
            for _ in range(adet):
                metin_verileri.append((vnum, sure))
            
            toplam_hedef += adet
            print(f"{GREEN}   [BAŞARILI]{RESET} {adet} adet {vnum} listeye eklendi. Güncel Toplam: {toplam_hedef}")
            
        except ValueError:
            print(f"{RED}   [HATA]{RESET} Geçersiz sayısal giriş! Lütfen tekrar deneyiniz.")

    if not metin_verileri:
        print(f"\n{RED}[UYARI]{RESET} Liste boş olduğu için işlem sonlandırıldı.")
        return

    # Homojen dağılım için veriyi karıştır
    random.shuffle(metin_verileri)
    
    # Matematiksel ızgara hesaplamaları
    izgara_boyutu = math.ceil(math.sqrt(toplam_hedef))
    adim_x = (X_MAX - X_MIN) / izgara_boyutu
    adim_y = (Y_MAX - Y_MIN) / izgara_boyutu

    try:
        with open(dosya_adi, "w", encoding="utf-8") as f:
            f.write(f"// OBULUT Professional Regen - Total: {toplam_hedef}\n")
            count = 0
            
            for i in range(izgara_boyutu):
                for j in range(izgara_boyutu):
                    if count >= toplam_hedef:
                        break
                    
                    x = int(X_MIN + (i * adim_x) + random.randint(-2, 2))
                    y = int(Y_MIN + (j * adim_y) + random.randint(-2, 2))
                    vnum, sure = metin_verileri[count]
                    
                    f.write(f"m\t{x}\t{y}\t{SAPMA}\t{SAPMA}\t0\t0\t{sure}\t100\t1\t{vnum}\n")
                    count += 1
            
            f.flush()
            os.fsync(f.fileno())

        print(f"\n{CYAN}" + "="*60 + RESET)
        print(f"{GREEN}İŞLEM BAŞARIYLA TAMAMLANDI!{RESET}")
        print(f"Toplam Dizilen Metin: {count} Adet")
        print(f"Dosya Konumu: {YELLOW}{dosya_adi}{RESET}")
        print(CYAN + "="*60 + RESET)

    except Exception as e:
        print(f"\n{RED}[KRİTİK HATA] Dosya yazımı başarısız: {e}{RESET}")

if __name__ == "__main__":
    profesyonel_regen_olusturucu()
    input("Kapatmak için ENTER tuşuna basınız...")




KProgramlama
Üye
Üye
Katılım11 Şub 2026
Konular7
Mesajlar62
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.05.2026 21:32 #2
PAYLAŞIM İÇİN TEŞEKKÜRLER,ELİNE SAĞLIK.
Caymazyusuf
Üye
Üye
Katılım06 Mar 2026
Konular9
Mesajlar76
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:10 #3
paylaşım için teşekkürler eline emeğine sağlık
Maksatbilgi
Üye
Üye
Katılım08 Ara 2025
Konular5
Mesajlar51
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:40 #4
Paylaşım için teşekkürler
PrimeKey
Üye
Üye
Katılım12 Şub 2026
Konular12
Mesajlar57
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:59 #5
Paylaşım için teşekkürler.
BirTema
Üye
Üye
Katılım20 Şub 2026
Konular4
Mesajlar65
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 01:01 #6
Paylaşım için teşekkürler
AhmHkn
Üye
Üye
Katılım17 Mar 2026
Konular9
Mesajlar49
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 01:03 #7
.bat olsa daha kolay olur fakat .bat hepsini okuyamıyor hata veriyor.
örneğin clientin tamamına mipmap yapınca
yazilimci_r25
Üye
Üye
Katılım19 Nis 2026
Konular7
Mesajlar78
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 01:06 #8
güncel
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
Benzer Konular
6 cevap
2K görüntüleme
9 cevap
1.9K görüntüleme
4 cevap
1.9K görüntüleme
8 cevap
1.9K görüntüleme
İlan Yan banner placeholder