Örnek veriyorum elimde "if(PlayerData[userid][pHastalik] < 1)" şöyle bir kod var bu kodun sonundaki 1 oyuncular tedaviet ID komutunu kullandığında orası 0'a dönecek yani şöyle anlatayım bir hastalık sistemim var bir lsfd görevlisi oyuncuyu /tedaviet ID komutuyla tedavi edecek ve tedavi ettikten sonra tek seferli bir kod çalışacak 10 dakika sonra o sondaki değeri 0'a çekicek tek seferli olucak ama her zaman o kodu çalıştırmayacak, bu mümkün mü yani yapabilir misiniz?
Test etmedim hata çıkarsa yazabilirsin ve 10 dakika dolmadan oyuncu çıkarsa tedavi işlemi iptal olur.
Kendine göre düzenleyebilirsin.
CMD:tedaviet(playerid, params[])
{
new id;
if (sscanf(params, "d", id)) return SendClientMessage(playerid, "/tedaviet [id]");
if (PlayerData[id][pHastalik] != 1) return SendClientMessage(playerid, "Oyuncu hasta değil");
SetTimerEx("TedaviEt", 10*60*1000, true, "dd", playerid, id);
return 1;
}
forward TedaviEt(playerid, id);
public TedaviEt(playerid, id)
{
SendClientMessage(playerid, "Oyuncuyu tedavi ettin.");
SendClientMessage(id, "Oyuncu seni tedavi etti.");
PlayerData[id][pHastalik] = 0;
return 1;
}
Alıntı yapılan: Murat Budak - 04 Eylül 2021, 17:42:07Test etmedim hata çıkarsa yazabilirsin ve 10 dakika dolmadan oyuncu çıkarsa tedavi işlemi iptal olur.
Kendine göre düzenleyebilirsin.
CMD:tedaviet(playerid, params[])
{
new id;
if (sscanf(params, "d", id)) return SendClientMessage(playerid, "/tedaviet [id]");
if (PlayerData[id][pHastalik] != 1) return SendClientMessage(playerid, "Oyuncu hasta değil");
SetTimerEx("TedaviEt", 10*60*1000, true, "dd", playerid, id);
return 1;
}
forward TedaviEt(playerid, id);
public TedaviEt(playerid, id)
{
SendClientMessage(playerid, "Oyuncuyu tedavi ettin.");
SendClientMessage(id, "Oyuncu seni tedavi etti.");
PlayerData[id][pHastalik] = 0;
return 1;
}
Test edeceğim.
Teşekkür ederim, konu kilit