Öncelikle herkese kolay gelsin dakikalı komut yapmayı bilmedigim için bu konuyu açtım
if (strcmp("/zirh", cmdtext, true, 10) == 0)
{
if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, 0xF6F6F6AA,"{F81414}HATA: {FFFFFF}Zirh almak için yeterli paraniz yok! Yeterli para miktari 1000$'dir!");
SetPlayerArmour(playerid,100);
GivePlayerMoney(playerid, -1000);
SendClientMessage(playerid,-1,"{FFFFFF}Zirhin {CC0033}fullendi {FFFFFF} fakat hesabından ,{CC3333}[-1000$] {FFFFFF}kesildi. . !");
return 1;
}
Yaptıgım /zirh komutunun dakikalı olmasını istiyorum bu konuda yardımcı olabilicek varmıdır teşekkürler.
NexoR'un yapmış olduğu anti spam sistemini kullanabilirsiniz. Kullanımı gayet basittir;
if(SureYasagi(playerid, "Komutismi", Süre)) return 1;
şeklinde kullanabilirsiniz.
Buyrun 2 örnek komut;
#include <a_samp>
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/zirh", cmdtext, true, 10) == 0)
{
if(SureYasagi(playerid, "zirh", 10)) return 1;
if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, 0xF6F6F6AA,"{F81414}HATA: {FFFFFF}Zirh almak için yeterli paraniz yok! Yeterli para miktari 1000$'dir!");
SetPlayerArmour(playerid,100);
GivePlayerMoney(playerid, -1000);
SendClientMessage(playerid,-1,"{FFFFFF}Zirhin {CC0033}fullendi {FFFFFF} fakat hesabından ,{CC3333}[-1000$] {FFFFFF}kesildi. . !");
return 1;
}
if (strcmp("/can", cmdtext, true, 10) == 0)
{
if(SureYasagi(playerid, "can", 10)) return 1;
if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, 0xF6F6F6AA,"{F81414}HATA: {FFFFFF}can almak için yeterli paraniz yok! Yeterli para miktari 1000$'dir!");
SetPlayerHealth(playerid,100);
GivePlayerMoney(playerid, -1000);
SendClientMessage(playerid,-1,"{FFFFFF}Canınız {CC0033}fullendi {FFFFFF} fakat hesabından ,{CC3333}[-1000$] {FFFFFF}kesildi. . !");
return 1;
}
return 1;
}
stock SureYasagi(playerid, _0xyasakIsim[], _n0xsure)
{
new _v3r1[35], string[70], _@0xdakika, _@0xsaniye;
format(_v3r1, sizeof(_v3r1), "nTempSure_%s", _0xyasakIsim);
if(GetPVarInt(playerid, _v3r1) > GetTickCount())
{
new verilenSure = (GetPVarInt(playerid, _v3r1) - GetTickCount()) / 1000;
if(verilenSure >= 599)
{
_@0xdakika = floatround(verilenSure / 60);
_@0xsaniye = floatround(verilenSure - _@0xdakika * 60);
if(_@0xsaniye >= 9)
{
format(string, sizeof(string), "Bu komutu tekrar kullanmanız için {FF0000}%02d {FFFFFF}dakika {FF0000}%02d {FFFFFF}saniye var.", _@0xdakika, _@0xsaniye);
}
else
{
format(string, sizeof(string), "Bu komutu tekrar kullanmanız için {FF0000}%02d {FFFFFF}dakika {FF0000}%d {FFFFFF}saniye var.", _@0xdakika, _@0xsaniye);
}
}
if(verilenSure >= 59 && verilenSure <= 599)
{
_@0xdakika = floatround(verilenSure / 60);
_@0xsaniye = floatround(verilenSure - _@0xdakika * 60);
if(_@0xsaniye >= 9)
{
format(string, sizeof(string), "Bu komutu tekrar kullanmanız için {FF0000}%d {FFFFFF}dakika {FF0000}%02d {FFFFFF}saniye var.", _@0xdakika, _@0xsaniye);
}
else
{
format(string, sizeof(string), "Bu komutu tekrar kullanmanız için {FF0000}%d {FFFFFF}dakika {FF0000}%d {FFFFFF}saniye var.", _@0xdakika, _@0xsaniye);
}
}
if(verilenSure <= 59)
{
_@0xsaniye = floatround(verilenSure);
if(_@0xsaniye >= 10)
{
format(string, sizeof(string), "Bu komutu tekrar kullanmanız için {FF0000}%d {FFFFFF}saniye var.", _@0xsaniye);
}
if(_@0xsaniye <= 10)
{
format(string, sizeof(string), "Bu komutu tekrar kullanmanız için {FF0000}%d {FFFFFF}saniye var.", _@0xsaniye);
}
}
return SendClientMessage(playerid, -1,string);
}
else
{
SetPVarInt(playerid, _v3r1, GetTickCount() + _n0xsure * 1000);
return 0;
}
}
Ellerine sağlık dostum işe yaradı teşekkürler . :)
konu /kilit