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
Ücretli Eklenti İçin Discord: egopatient veya Özel Mesaj
@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;
}
Ücretli Eklenti İçin Discord: egopatient veya Özel Mesaj
(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 ?
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
(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.
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;
}
Ücretli Eklenti İçin Discord: egopatient veya Özel Mesaj
İ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
10.627
Okunma
13-02-2024, 06:59
Yorum
22.643
Okunma
03-09-2022, 01:24
Yorum
23.566
Okunma
30-07-2022, 19:32
Yorum
21.716
Okunma
03-07-2022, 11:07