İstenmeyen Mapı Otomatik Değiştirme

Konu

#1
Selamlar,

İstediğim Eklenti şudur; diyelim ki bir serverde ''de_dust2'' Mapı açılıyor. Server çökmesi veya başka bir durumda otomatik bu map açılıyor diyelim. Map Açıldıktan hemen sonra otomatik olarak benim belirlediğim Mapın açılmasını istiyorum. tabi Açılırken saydan mesaj yazmalı.

İsteğimi Yapan kardeşime şimdiden teşekkür ediyorum. Bu forumun efsanelerini artık forum konularında göremiyoruz mağlesef. Genede ileride efsane olacak kardeşlerime çok çok teşekkürler.
#2
Kod:
#include <amxmodx>

#define ISTENMEYEN_HARITA "de_dust2" // Bu hangi map acilince alttaki map acilsin
#define ACILACAK_MAP "de_dust2_long" // Yukardaki map acilinca acilacak olan haritanın ismi
public plugin_init(){
    kontrol();
}
public kontrol(){
    new szMapName[ 32 ];
    get_mapname( szMapName, charsmax( szMapName ) );
    if( equali( szMapName, ISTENMEYEN_HARITA ) ){
        server_cmd("wait;wait;wait;wait;wait;wait;wait;wait;wait;changelevel %s",ACILACAK_MAP);
        renkli_yazi(0,"YENI HARITA ACILIYOR") // burdan mesajınızı iletebilirsiniz.
    }
}
#if AMXX_VERSION_NUM < 183
stock renkli_yazi(const pN_ID, const input[], any:...){
    new count = 1, players[32];
    static msg[191];
    vformat(msg, 190, input, 3);
    replace_all(msg, 190, "!n", "^x01");
    replace_all(msg, 190, "!g", "^x04");
    replace_all(msg, 190, "!t", "^x03");
    if (pN_ID) players[0] = pN_ID; else get_players(players, count, "ch");{
        for (new i = 0; i < count; i++){
            if (is_user_connected(players[i])){
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}
#else
stock renkli_yazi(const pN_ID, const input[], any:...){
    static msg[191];
    vformat(msg, 190, input, 3);
    replace_all(msg, 190, "!g", "^x01");
    replace_all(msg, 190, "!n", "^x04");
    replace_all(msg, 190, "!t", "^x03");
    client_print_color(pN_ID, pN_ID, msg);
}
#endif

Son Düzenleme: 23-10-2020, 19:29, Düzenleyen: lykia.
#3
(23-10-2020, 19:29)lykia Adlı Kullanıcıdan Alıntı:
Kod:
#include <amxmodx>

#define ISTENMEYEN_HARITA "de_dust2" // Bu hangi map acilince alttaki map acilsin
#define ACILACAK_MAP "de_dust2_long" // Yukardaki map acilinca acilacak olan haritanın ismi
public plugin_init(){
    kontrol();
}
public kontrol(){
    new szMapName[ 32 ];
    get_mapname( szMapName, charsmax( szMapName ) );
    if( equali( szMapName, ISTENMEYEN_HARITA ) ){
        server_cmd("wait;wait;wait;wait;wait;wait;wait;wait;wait;changelevel %s",ACILACAK_MAP);
        renkli_yazi(0,"YENI HARITA ACILIYOR") // burdan mesajınızı iletebilirsiniz.
    }
}
#if AMXX_VERSION_NUM < 183
stock renkli_yazi(const pN_ID, const input[], any:...){
    new count = 1, players[32];
    static msg[191];
    vformat(msg, 190, input, 3);
    replace_all(msg, 190, "!n", "^x01");
    replace_all(msg, 190, "!g", "^x04");
    replace_all(msg, 190, "!t", "^x03");
    if (pN_ID) players[0] = pN_ID; else get_players(players, count, "ch");{
        for (new i = 0; i < count; i++){
            if (is_user_connected(players[i])){
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}
#else
stock renkli_yazi(const pN_ID, const input[], any:...){
    static msg[191];
    vformat(msg, 190, input, 3);
    replace_all(msg, 190, "!g", "^x01");
    replace_all(msg, 190, "!n", "^x04");
    replace_all(msg, 190, "!t", "^x03");
    client_print_color(pN_ID, pN_ID, msg);
}
#endif


Hocam Eklenti çalıştı. Lakin Mapi direk açtığı için Yazı falan zaten gözükmüyor yani mapı de_dust2 diye cevirdiğimizde direk belirlediğimiz map geliyor o yüzden renkli yazıyı kaldırabiliriz. hata falan vermesin sonra
#4
Kod:
#include <amxmodx>

#define ISTENMEYEN_HARITA "de_dust2" // Bu hangi map acilince alttaki map acilsin
#define ACILACAK_MAP "de_dust2_long" // Yukardaki map acilinca acilacak olan haritanın ismi
public plugin_init(){
    kontrol();
}
public kontrol(){
    new szMapName[ 32 ];
    get_mapname( szMapName, charsmax( szMapName ) );
    if( equali( szMapName, ISTENMEYEN_HARITA ) ){
        server_cmd("wait;wait;wait;wait;wait;wait;wait;wait;wait;changelevel %s",ACILACAK_MAP);
    }
}

Kaldırdım hocam rep verirseniz sevinirim. Başka yardımcı olabileceğim bir şey var mı ?
#5
(23-10-2020, 20:40)lykia Adlı Kullanıcıdan Alıntı:
Kod:
#include <amxmodx>

#define ISTENMEYEN_HARITA "de_dust2" // Bu hangi map acilince alttaki map acilsin
#define ACILACAK_MAP "de_dust2_long" // Yukardaki map acilinca acilacak olan haritanın ismi
public plugin_init(){
    kontrol();
}
public kontrol(){
    new szMapName[ 32 ];
    get_mapname( szMapName, charsmax( szMapName ) );
    if( equali( szMapName, ISTENMEYEN_HARITA ) ){
        server_cmd("wait;wait;wait;wait;wait;wait;wait;wait;wait;changelevel %s",ACILACAK_MAP);
    }
}

Kaldırdım hocam rep verirseniz sevinirim. Başka yardımcı olabileceğim bir şey var mı ?

Rep vermeyi mağlesef bilmiyorum Lakin Yardımınız için çok teşekkür ediyorum. Herkesin sustuğu yerde sizin yardım etmeniz çok ince bir davranış idi. 
Konu Arkadaşın Yardımı ile çözülmüştür. @By.KinG çözülmüş isteklere taşınabilir.
#6
Konunuz "Çözülmüş İsteklere" taşınmıştır.
What I've Done - Linkin Park

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task
Kayıt Ol
Discord Adresimize Katılın