1. Bana sorarsan ben bunları ezbere biliyorum. Eklenti yazdıkça aklınızda kalıyor zaten. İngilizcem de iyi olduğu için bu kodları ezberlemek sorun olmuyor. Ama elbette hangi fonksiyonun ne işe yaradığını bulabileceğiniz siteler var. Bunlardan biri "funcwiki" diye google'da arattığınızda bulabileceğiniz fonksiyon arama motoru. Daha ayrıntılı bilgi için, fonksiyonu google a yazarak aratabilirsiniz. Yine de bulamazsanız buraya yazın elimizden geldiğince cevaplarız 
2. Yine aynı şekilde ben ezbere biliyorum. Kullandıkça ezberliyorsunuz zaten. Kaldı ki, hangi fonksiyonun hangi modül/kütüphane de olduğunu karıştırabilecek kadar fazla karışık fonksiyon yok. Örneğin cstrike modülündeki fonksiyonların neredeyse tamamı "cs_" ön ekiyle başlar. Zaten eklenti yazdıkça cstrike dan fazla bir fonksiyona ihtiyaç duymadığınızı anlıyorsunuz. Ben cstrike'ı, para ayarlamaktan başka bir amaç için kullandığımı fazla hatırlamıyorum. Yine başka bir modül olan hamsandwich e bakıcak olursak. Yine kullanılan kodlar kendini belli eder. Hepsinin kenarında köşesinde bir "ham" vardır.
ExecuteHam, RegisterHam gibi..
Yine de bir bilgi kaynağı arıyorsanız "funcwiki" de ilgili kodu arattığınızda hangi kütüphane/modül e ait olduğu orada yazar. Modül ile kütüphane arasındaki fark, modüller C++ dilinde yazılır ve pawn ile oyun arasındaki iletişimi ayarlar. Örneğin fakemeta bir modüldür ve HL Engine ile .dll fonksiyonları, engine fonksiyonları arasındaki etkileşimi inceleyip düzenleyebilmeyi, health-speed-model gibi client bilgilerini değiştirip gözlemleyebilmeyi sağlar ve pawnda bunları gerçekleştirebileceğimiz fonksiyonları oluşturur.
Bir kütüphane ise, kalıplaşmış, karmaşık kodlar dizisini sadeleştirmek için kullanılır. Örneğin fakemeta_util kütüphanesi bazı yararlı işlemleri kısa yoldan yapabilmemizi sağlar.
Fakemeta_util kütüphanesinden bir stock;
PHP- Kodu:
stock fm_give_item(index, const item[]) {
if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
return 0;
new ent = fm_create_entity(item);
if (!pev_valid(ent))
return 0;
new Float:origin[3];
pev(index, pev_origin, origin);
set_pev(ent, pev_origin, origin);
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
dllfunc(DLLFunc_Spawn, ent);
new save = pev(ent, pev_solid);
dllfunc(DLLFunc_Touch, ent, index);
if (pev(ent, pev_solid) != save)
return ent;
engfunc(EngFunc_RemoveEntity, ent);
return -1;
}
Görüldüğü gibi uzun uzun işlemleri tek tek yazmak yerine, kısaca bu kütüphaneyi gösterip fm_give_item kullanabiliriz.
3. Zaten orada -hp yazmıyor ki ?
- get_pcvar_num(gPara) yazıyor ?
yani buyhp_ucret ismini verdiğin ayarın sayısal değeri.
4. if = Eğer
else = Aksi halde [değilse]
demektir.
if parantezinin içi sağlamadığında if'in sonunda bir else var ise if sağlamadığı için direk else'i okur.
PHP- Kodu:
public cmdBuyHP(id) {
if(cs_get_user_money(id) < 5000) { // Eğer para 5000 den az İSE
client_print(id,print_chat,"Yeterli Paran yok") // Uyarı mesajı göster
}
else { // Eğer para 5000 den az DEĞILSE (Yani bir önceki if doğru değilse)
set_user_health(id,get_user_health(id) + 200) // 200 HP Ekle
}
return PLUGIN_HANDLED // Komutu bitir.
}
5. Ben öyle bir kod yazmadımkı :S Yine de sana anlamını söyleyeyim.
hp adlı bir değişken yarat ve bu değişkeni "gPara ile belirtilmiş cvar ayarındaki sayısal değere" eşitle.
Edit: Son sorunla ilgili olarak ekleme
Evet tamamen doğru anlamışsın. Global değişkeni her public tanır. Ve bir değeri defalarca hesaplatmaktansa bir defa hesaplatmak her zaman daha iyidir. Fakat cvar ayarlarını global değişkenlerde kullanırsan, yaptığın ayarlar ancak map değiştiğinde aktif olucaktır.