⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
⭐Kurumsal web sitesi barındırma, VDS ve sanal sunucu çözümleri. Name SSD altyapısı, yüksek performans, kesintisiz erişim ve profesyonel teknik destekle hizmetinizde.⭐
Sponsor Görsel 2
SponsorSponsor

[Tool] Cs 1.6 Nav Parser

Konu

#1
[TOOL]CS 1.6NAV PARSER
Counter-Strike 1.6 Path Finder, A-Star, Navigation Parser Aracı.


qcty9y3


Counter-Strike 1.6 (Z-Bot) botlarının oluşturduğu .nav dosyalarını .ini formatına çevirmenizi sağlar!


[.Nav]Oluşturma Rehberi:

Yeni .nav oluşturacağınız haritayı seçin ve haritanın analiz olmasını bekleyin.
İşlem bittikten sonra .nav dosyasını (cstrike/maps) klasörünüzden alıp nav parsere gönderin.

a22kj93 4mqzw4b



[.Nav]Okuma Rehberi:

Nav Parser analiz yaptıktan sonra sağ üstte map ismi .ini dosyasını indir'e tıkla
İnen .ini dosyasını (amxmodx/configs/waypoints) klasörü oluşturup içerisine ekleyelim

PHP Kod:
#include <amxmodx>

enum _:WaypointBilgisi {
    
WAYPOINT_ID,
    
Float:WAYPOINT_X,
    
Float:WAYPOINT_Y,
    
Float:WAYPOINT_Z,
    
Float:WAYPOINT_GENISLIK,
    
Float:WAYPOINT_YUKSEKLIK
};

enum _:BaglantiBilgisi {
    
BAGLANTI_NEREDEN,
    
BAGLANTI_NEREYE
};

new Array:
WaypointListesi;
new Array:
BaglantiListesi;

new 
HARITA_ISMI[32];
new 
DOSYA_YOLU[128];
new 
CONFIG_YOLU[128];

public 
plugin_init() {
    
get_mapname(HARITA_ISMIcharsmax(HARITA_ISMI));
    
get_localinfo("amxx_configsdir"CONFIG_YOLUcharsmax(CONFIG_YOLU));
    
formatex(DOSYA_YOLUcharsmax(DOSYA_YOLU), "%s/waypoints/%s_waypoints.ini"CONFIG_YOLUHARITA_ISMI);
    
    
WaypointListesi ArrayCreate(WaypointBilgisi);
    
BaglantiListesi ArrayCreate(BaglantiBilgisi);
    
    @
WaypointYukle();
}

public 
plugin_end() {
    
ArrayDestroy(WaypointListesi);
    
ArrayDestroy(BaglantiListesi);
}

@
WaypointYukle() {
    if(!
file_exists(DOSYA_YOLU)) {
        
log_amx("[>] Hata: %s dosyasi bulunamadi!"DOSYA_YOLU);
        return;
    }
    
    new 
Dosya fopen(DOSYA_YOLU"r");
    if(!
Dosya) {
        
log_amx("[>] Hata: %s dosyasi acilamadi!"DOSYA_YOLU);        
        return;
    }
    
    new 
Satir[128], Kategori 0;
    
    while(
fgets(DosyaSatircharsmax(Satir))) {
        
trim(Satir);
        
        if(
Satir[0] == EOS || Satir[0] == ';') {
            continue;
        }
        
        if(
Satir[0] == '[') {
            if(
containi(Satir"[waypoints]") != -1)        Kategori 1;
            else if(
containi(Satir"[connections]") != -1Kategori 2;
            
else                                            Kategori 0;
            continue;
        }
        
        switch(
Kategori) {
            case 
1: {
                new 
StrID[6], StrX[12], StrY[12], StrZ[12], StrW[12], StrH[12];
                
                
parse(Satir
                    
StrIDcharsmax(StrID), 
                    
StrXcharsmax(StrX), 
                    
StrYcharsmax(StrY), 
                    
StrZcharsmax(StrZ), 
                    
StrWcharsmax(StrW), 
                    
StrHcharsmax(StrH)
                );
                
                new 
Veri[WaypointBilgisi];
                
Veri[WAYPOINT_ID]        str_to_num(StrID);
                
Veri[WAYPOINT_X]         str_to_float(StrX);
                
Veri[WAYPOINT_Y]         str_to_float(StrY);
                
Veri[WAYPOINT_Z]         str_to_float(StrZ);
                
Veri[WAYPOINT_GENISLIK]  str_to_float(StrW);
                
Veri[WAYPOINT_YUKSEKLIK] = str_to_float(StrH);
                
                
ArrayPushArray(WaypointListesiVeri);
            }
            case 
2: {
                new 
StrNereden[6], StrNereye[6];
                
                
parse(SatirStrNeredencharsmax(StrNereden), StrNereyecharsmax(StrNereye));
                
                new 
Veri[BaglantiBilgisi];
                
Veri[BAGLANTI_NEREDEN] = str_to_num(StrNereden);
                
Veri[BAGLANTI_NEREYE]  str_to_num(StrNereye);
                
                
ArrayPushArray(BaglantiListesiVeri);
            }
        }
    }
    
    
fclose(Dosya);
    
    new 
ToplamWp ArraySize(WaypointListesi);
    new 
ToplamBaglanti ArraySize(BaglantiListesi);

    
server_print("---------------------------------------------------------");
    
server_print(" [>] Harita:                       %s"HARITA_ISMI);
    
server_print(" [>] Waypoint (Noktalar):          %d adet"ToplamWp);
    
server_print(" [>] Connection (Baglantilar):     %d adet"ToplamBaglanti);
    
server_print("---------------------------------------------------------");


[.Nav Parser]Eklenti Resimleri:

7w6dtma


pxiiu3f


[TOOL]CS 1.6Nav Parser v1.0
[ TIKLA ]
Cevapla
#2
Güzel paylaşım olmuş, özellikle .nav dosyalarını waypoint mantığıyla .ini formatına çevirmesi CS 1.6 tarafında bayağı iş kolaylaştırır. A-Star/path finder sistemleriyle uğraşanlar için faydalı bir araç, emeğine sağlık.
Signal Intelligence // Metadata Fusion // Operational Supremacy
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da