Eklenti için güzel düşünülmüş fakat benim düşünceme göre biraz eksikler var. Öncelikle yazılar txt dosyasında daha hoş durur diye düşünüyorum. Eklentide düzenlemektense txt dosyasında düzenlemek daha kolay olacaktır. Bazı cvarlar yüzdelik değer olmasına rağmen normal değer olarak çekilip float komutu ile yüzdeliğe çevriliyor. Bunun amacını anlamış değilim (REffect, RupHealth, RHealth, RSpeed). Tasklar için sayı kullanmaktansa enum kullanman daha hoş ve anlaşılır olacaktır. Ayrıca taskların döngüsünde is_user_connected kullanmak yerine client_disconnected döngüsünde remove_task kullanmanız, sürekli kullanılan tasklarda gereksiz komuttan kaçındıracaktır.
Kod: Tümünü seç
enum (+= 1337) {
TaskId_Health = 1337,
TaskId_Speed,
TaskId_Gravity
};
set_task(1.0, "Deger", id + TaskId_Health);
remove_task(id + TaskId_Health);
public client_disconnected(id) {
remove_task(id + TaskId_Health);
}
public Deger(TaskId) {
new id = TaskId - TaskId_Health;
set_entvar(id, var_health, 100.0);
}
ResetMaxSpeed döngüsünde gravity değiştirmeye gerek yoktur. Doğru gibi görünse de gereksiz komut olarak sürekli dönmektedir. RG_CBasePlayer_Killed döngüsünde saldıran kişide const olmaması gerekiyor, bu eklentide sorun çıkarmasa da başka eklentiler de kullanmaman için bir tavsiye. O döngüdeki for döngüsünde is_user_connected ile is_user_alive aynı yerde kullanılmış. Oradaki is_user_alive komutu zaten oyuncu oyunda değilken false olarak dönüyor, yani is_user_connected komutu gereksizdir.
Para eksiltirken oyuncunun parasını çekmeye gerek yok.
Kod: Tümünü seç
rg_add_account(iPlayer, -iCvars[RCost], AS_ADD);
//rg_add_account(iPlayer, get_member(iPlayer, m_iAccount) - iCvars[RCost], AS_SET);
Son olarak, kendi sunucumda bunu kullanmak istesem ve hız veya yer çekimini değiştirme olayını istemesem bunu kapatacak bir cvar olmadığı için eklentiyi kullanmazdım. Anlatmak istediğim şey, bunlar için "0" değeri kontrolü lazım. Ben Redbull_Hiz cvarını "0" yaparsam oyuncuya hız vermesin gibi. Ayrıca bu komutta bazı değerlerin önce kontrol edilmesi biraz karışıklıkla beraber gereksiz kontrol de çekebiliyor. Benim düşünceme göre, sıranın böyle olması daha uygun.
Kod: Tümünü seç
bool:IsCanUse(const iPlayer) {
if(!is_user_alive(iPlayer)) {
client_print_color(iPlayer,iPlayer,"^1[ ^3- ^4%s ^3- ^1] ^1Oluler redbull kullanamaz!",sTag);
return false;
}
if(iStop[iPlayer]) {
client_print_color(iPlayer,iPlayer,"^1[ ^3- ^4%s ^3- ^1] ^1Zaten redbull kullaniyorsunuz!",sTag);
return false;
}
if(iCvars[RHak] > 0 && iHakSay[iPlayer] >= iCvars[RHak]) {
client_print_color(iPlayer,iPlayer,"^1[ ^3- ^4%s ^3- ^1] ^1Redbull kullanma hakkiniz kalmadi.",sTag);
return false;
}
if(get_member(iPlayer, m_iAccount) < iCvars[RCost]) {
client_print_color(iPlayer,iPlayer,"^1[ ^3- ^4%s ^3- ^1] ^1Paraniz yetersiz. Gereken: ^4(%d TL)",sTag,iCvars[RCost]);
return false;
}
new iNumT;
rg_initialize_player_counts(iNumT);
if(iNumT <= 1) {
client_print_color(iPlayer,iPlayer,"^1[ ^3- ^4%s ^3- ^1] ^1Tek mahkum varken redbull kullanilamaz!",sTag);
return false;
}
return true;
}