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.
Konu
iletisim icin dc 4x0x3
@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).
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).
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;
}iletisim icin dc 4x0x3
(13-01-2025, 07: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 ?
Maalesef, saati kontrol etmeden saatle ilgili bir şey yapamayız bu eklenti zaten isteğinizi yerine getiriyor.
iletisim icin dc 4x0x3
(13-01-2025, 11: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, 12:02, Düzenleyen: Archer.
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", Saat, charsmax(Saat));
new iSaat = str_to_num(Saat);
if (iSaat >= 0100 && iSaat < 2200) pause("d")
else set_task(30.0, "@Check", .flags = "b");
rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);
}
@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;
}
iletisim icin dc 4x0x3
İ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.
İ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.
Benzer Konular
Yorum
1.081
Okunma
02-02-2026, 17:54
Yorum
17.468
Okunma
13-02-2024, 09:59
Yorum
29.859
Okunma
03-09-2022, 04:24
)

