Konu

#1
Selamlar. Belirlenen saatte mapın değişmesini sağlayan bir eklenti lazım. Örneğin sunucu saati 15.00 göstermesinin üzerine 5 sn geçtikten sonra map değişsin. Saat kaçta değişeceğini, direk mi birkaç sn sonra mı değiseceğini ve aynı map tekrardan mı açılacak yoksa farklı map mı açılacak bunları rahatlıkla ayarlayabileyim. Cvar ayarı olmasın istiyorum, ek bir dosya vs. de oluşturmasın, yalnızca eklenti içerisinden güncelleyeyim. #define acilacak_map 0 ise aynı map tekrardan açılsın, map adı yazıyorsa yazan map açılsın. #define kac_saniye_sonra 0 ise istenilen saatte direk değissin, sn yazıyor ise o kadar sn gectikten sonra degişsin.
#3
@Maravilha

1736732101_mapchange.sma(9) : error 017: undefined symbol "MAX_MAPNAME_LENGTH"
1736732101_mapchange.sma(15) : warning 224: indeterminate array size in "sizeof" expression (symbol "")

1 Error.
Could not locate output file 1736732101_mapchange.amx (compile failed).
#4
Kod:
#include <amxmodx>
#include <reapi>

new const Maps[][][] = {
    { "deathrun_temple", 0200 },
    { "jail_buyukisyan_dark", 0900 }
};

new szMapName[33], Saat[33];

public plugin_init()
{
    register_plugin("SaateGoreMap", "0.1", "LyNcH");

    rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);

    set_task(30.0, "@Check", .flags = "b");
}

@Check() {
    get_time("%H%M", Saat, charsmax(Saat));
    new iSaat = str_to_num(Saat);

    for(new i = 0; i < sizeof(Maps); i++) {
        if(Maps[i][1][0] == iSaat && !equali(szMapName, Maps[i][0][0])) {
            server_cmd("changelevel %s", Maps[i][0][0])
        }
    }
    return PLUGIN_HANDLED;
}

Ücretli Eklenti İçin Discord: egopatient veya Özel Mesaj
#5
(13-01-2025, 04:58)Maravilha Adlı Kullanıcıdan Alıntı:
Kod:
#include <amxmodx>
#include <reapi>

new const Maps[][][] = {
    { "deathrun_temple", 0200 },
    { "jail_buyukisyan_dark", 0900 }
};

new szMapName[33], Saat[33];

public plugin_init()
{
    register_plugin("SaateGoreMap", "0.1", "LyNcH");

    rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);

    set_task(30.0, "@Check", .flags = "b");
}

@Check() {
    get_time("%H%M", Saat, charsmax(Saat));
    new iSaat = str_to_num(Saat);

    for(new i = 0; i < sizeof(Maps); i++) {
        if(Maps[i][1][0] == iSaat && !equali(szMapName, Maps[i][0][0])) {
            server_cmd("changelevel %s", Maps[i][0][0])
        }
    }
    return PLUGIN_HANDLED;
}


Açıkçası benim derdim, saat gece 00.00 geçtiği an mapın değişmesiydi. Yalnızca bunun için kullanacağım eklentiyi. Bu söylediğimden yola çıkarak, habire 30 sn de bir kontrol etmesi yerine, başka şekilde kontrol etmesi veya çalışması sağlanabilir mi ?
#6
Maalesef, saati kontrol etmeden saatle ilgili bir şey yapamayız bu eklenti zaten isteğinizi yerine getiriyor.
Ücretli Eklenti İçin Discord: egopatient veya Özel Mesaj
#7
(13-01-2025, 08:37)Maravilha Adlı Kullanıcıdan Alıntı: Maalesef, saati kontrol etmeden saatle ilgili bir şey yapamayız bu eklenti zaten isteğinizi yerine getiriyor.

O zaman son olarak şu şekilde ayarlama imkanınız var mı ?

Saat 22.00 dan önceki map değişimlerinde kontrol gerçekleşmesin. Map değiştikten sonra saati kontrol etsin ve saat 22.00 dan daha ilerideyse o zaman 30 sn de bir olan kontrolü gerçekleştirsin ve belirtilen saat gelince de yine aynı şekilde değişsin. Söylediğim şeyde bir tık mantık hatası oldu fark ettim. Düzenliyorum. O yüzden yapabilirseniz, 01.00 ile 22.00 arasında kontrol gerçekleşmesin şeklinde ayarlar mısınız ? Kontrolün gerçekleşip gerçekleşmeyeceği ise, map değiştikten sonra saat kontrolü yaparak sağlansın.
Son Düzenleme: 13-01-2025, 09:02, Düzenleyen: Archer.
#8
PHP Kod:
#include <amxmodx>
#include <reapi>

new const Maps[][][] = {
    "deathrun_temple"0200 },
    "jail_buyukisyan_dark"0900 }
};

new 
szMapName[33], Saat[33];

public 
plugin_init() {
    register_plugin("SaateGoreMap""0.1""LyNcH");

    get_time("%H%M"Saatcharsmax(Saat));
    new iSaat str_to_num(Saat);

    if (iSaat >= 0100 && iSaat 2200pause("d")
    else set_task(30.0"@Check", .flags "b");

    rh_get_mapname(szMapNamecharsmax(szMapName), MNT_SET);
}

@
Check() {
    get_time("%H%M"Saatcharsmax(Saat));
    new iSaat str_to_num(Saat);

    for (new 0sizeof(Maps); i++) {
        if (Maps[i][1][0] == iSaat && !equali(szMapNameMaps[i][0][0])) {
            server_cmd("changelevel %s"Maps[i][0][0])
        }
    }
    return PLUGIN_HANDLED;

Ücretli Eklenti İçin Discord: egopatient veya Özel Mesaj
#9
İstek konusu, @Maravilha adlı kullanıcı tarafından 2 gün içinde çözülmüştür.
İsteği çözdüğü için Maravilha Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Maravilha Adlı kullanıcı sizin dışınızda toplam 160 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Kayıt Ol
Uygun fiyatlı ve yüksek performanslı teamspeak3