HATA:
Bu for döngüsünde i = 31 olduğunda, döngü son kez işlenip duracaktır. YaniPHP- Kodu:
public Yeniel()
{
for(new i;i<32;i++) {
uyumak[i] = true;
}
}
uyumak[31] = true
olur ancak
uyumak[32] = true
uygulanmaz. Ancak bildiğiniz gibi client id maksimum 32 olabilir. Eğer 32 id li bir oyuncu uyku kullanırsa, sonraki el olsa bile tekrar kullanamaz.
i < 33 veya i<=32 yaparak düzeltebilirsiniz.
BİLGİ
uyumak[33] dizisi için sadece true ve false değerleri kullanıldığı için diziyi integer türünde değil de boolean türünde oluşturursanız gereksiz hafıza kaybına yol açmazsınız.
----
if() {
} else if() {
} else {
}
şeklindeki bir yapıda her if bloğunun içine ayrı ayrı return yazmaya gerek yok. Zaten örneğin birinci if işlenirse diğer bloklar işlenmez. İkincisi işlenirse üçüncüsü işlenmez. Sadece en sona return koymak yeterli.
----
YerinePHP- Kodu:
if(get_pcvar_num(tlimit)==1)
{
if(get_user_team(id)!=1)
{
ColorChat(id,GREEN,"^1[^4UYKU^1] ^4Sadece ^1T^4'ler uyuyabilir^1...")
return PLUGIN_HANDLED
}
}
else if(get_pcvar_num(tlimit)==2)
{
if(get_user_team(id)!=2)
{
ColorChat(id,GREEN,"^1[^4UYKU^1] ^4Sadece ^1CT^4'ler uyuyabilir^1...")
return PLUGIN_HANDLED
}
}
şeklinde bir kontrol yapmak hem kodunuzun okunabilirliğini hem de kalitesini artırırPHP- Kodu:
new team = get_user_team(id);
if(get_pcvar_num(tlimit) != team) {
ColorChat(id,GREEN,"^1[^4UYKU^1] ^4Sadece ^1%s^4'ler uyuyabilir^1...",team == 1 ? "CT" : "T");
return PLUGIN_HANDLED
}
-----------------------------------------------------------------------------------------------------------------------------------------
HATA kısmında yazdığım dışındakiler sadece bilgi ve kodlamada kaliteyi artırmak amaçlı olup yapılmasalar da olur
Bir de eklentiye max hp yi belirlemek için bir cvar koymanızı öneririm. Örneğin 100 hp den fazla hp olmaması istenebilir.