if(pInfo[playerid][pHunger] < 600)
{
new str2[128];
ProxDetector(60.0, playerid, str2, COLOR_GREY);
new aclik[257];
format(aclik, sizeof(aclik), "%s Karni Acliktan Guruldamaktadir. %s", PlayerName(playerid));
ProxDetector(20.0, playerid, aclik, COLOR_GREEN); //aclik bari#
SendClientMessage(playerid,-1,"*"COL_RED"Kendini acikmis ve halsiz hissediyorsan yemek yemen gerekiyor.");
}
Fakat ne hikmetse Buradaki şu Satır. SendClientMessage(playerid,-1,"*"COL_RED"Kendini acikmis ve halsiz hissediyorsan yemek yemen gerekiyor.");
pHunger 600 den küçükse sürekli olarak durmadan Chat ekranına mesaj atıyor durmadan bunu nasıl engelleyebilirim? Bir Timer eklesek veya sadece 600 e geldiğinde sadece chatte 1 kere yazmasını nasıl sağlarız?
stock SendHungerMessage(playerid)
{
new str2[128];[table]
ProxDetector(60.0, playerid, str2, COLOR_GREY);
new aclik[257];
format(aclik, sizeof(aclik), "%s Karni Acliktan Guruldamaktadir. %s", PlayerName(playerid));
ProxDetector(20.0, playerid, aclik, COLOR_GREEN); //aclik bari#
SendClientMessage(playerid,-1,"*"COL_RED"Kendini acikmis ve halsiz hissediyorsan yemek yemen gerekiyor.");
}
new timer[MAX_PLAYERS]; // her oyuncu için bir timer
if(pInfo[playerid][pHunger] < 600 && !timer[playerid]) // timer yoksa ve açlık 600'den küçükse
{
timer[playerid] = SetTimer(60000, false, "SendHungerMessage", playerid); // 1 dakika 60 saniye sonra mesajı gönderir
}
else if (pInfo[playerid][
şöyle deneyebilir misin
static counts[MAX_PLAYERS]; // sayaçları saklamak için statik bir dizi
if(pInfo[playerid][pHunger] < 600 && counts[playerid] == 0) // sayaç 0 ise mesaj gönder
{
new str2[128];
ProxDetector(60.0, playerid, str2, COLOR_GREY);
new aclik[257];
format(aclik, sizeof(aclik), "%s Karni Acliktan Guruldamaktadir. %s", PlayerName(playerid));
ProxDetector(20.0, playerid, aclik, COLOR_GREEN); //aclik bari#
SendClientMessage(playerid,-1,"*"COL_RED"Kendini acikmis ve halsiz hissediyorsan yemek yemen gerekiyor.");
counts[playerid]++; // sayaçı artır
}
else if (pInfo[playerid][pHunger] >= 600) // açlık 600 veya daha yüksekse sayaç sıfırlanır
{
counts[playerid] = 0;
}
alternatif kod
@Lincoln. Hangisini kullanmam daha doğru olur?
Alıntı yapılan: Toreno - 15 Mayıs 2023, 21:00:48@Lincoln. Hangisini kullanmam daha doğru olur?
2. kod daha iyi gibi, ikisini de kullanabilirsin ama ben 2.yi tercih ederdim.