Öncelikle indentation hatalarını gidermelisin. Bunlar yanlış yerde TAB veya süslü parantez kullanımından kaynaklanır. Bu düzeltilmiş hali, karşılaştırarak nerelerde hata yaptığını görebilirsin.
PHP- Kodu:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "BuyHP"
#define VERSION "1.0"
#define AUTHOR "Pikachu"
new gPara;
public plugin_init() {
register_plugin("BuyHP","1.0","Pikachu")
gPara = register_cvar("buyhp_ucret","5000")
register_clcmd("say /buyhp","Buy_HP")
}
public Buy_HP(id) {
if(cs_get_user_money(id) < get_pcvar_num(gUcret)) {
client_print(id,print_chat,"Yeterli Paran Yok!",get_pcvar_num(gPara))
return PLUGIN_HANDLED
}
cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(gPara))
set_user_health(id,200)
return PLUGIN_HANDLED
}
İkinci olarak "cs_get_user_money" fonksiyonu "cstrike" modülüne ait bir fonksiyondur. Bu yüzden eklentide öncelikle "cstrike" içerir şeklinde belirtmelisin ki compiler o dosyayı da okusun.
#include <cstrike>
PHP- Kodu:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define PLUGIN "BuyHP"
#define VERSION "1.0"
#define AUTHOR "Pikachu"
new gPara;
public plugin_init() {
register_plugin("BuyHP","1.0","Pikachu")
gPara = register_cvar("buyhp_ucret","5000")
register_clcmd("say /buyhp","Buy_HP")
}
public Buy_HP(id) {
if(cs_get_user_money(id) < get_pcvar_num(gUcret)) {
client_print(id,print_chat,"Yeterli Paran Yok!",get_pcvar_num(gPara))
return PLUGIN_HANDLED
}
cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(gPara))
set_user_health(id,200)
return PLUGIN_HANDLED
}
Şuanki hatalar:
Error: Undefined symbol "gUcret" on line 24
Error: Undefined symbol "set_user_health" on line 31
İlkinde diyor ki: 24. satırdaki gUcret tanınmıyor. Hemen bakalım nasıl tanımıyormuş ?
Pluginin başında oluşturduğun değişken gPara
new gPara
iken sen karıştırıp gUcret yazmışsın 
İkincisinde diyor ki: set_user_health tanınmıyor.
Çünkü set_user_health fonksiyonu "fun" kütüphanesinin bir fonksiyonudur. Yani yine cstrike'ı belirtirken yaptığın gibi fun'u da belitrmelisin
#include <fun>
PHP- Kodu:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#define PLUGIN "BuyHP"
#define VERSION "1.0"
#define AUTHOR "Pikachu"
new gPara;
public plugin_init() {
register_plugin("BuyHP","1.0","Pikachu")
gPara = register_cvar("buyhp_ucret","5000")
register_clcmd("say /buyhp","Buy_HP")
}
public Buy_HP(id) {
if(cs_get_user_money(id) < get_pcvar_num(gPara)) {
client_print(id,print_chat,"Yeterli Paran Yok!",get_pcvar_num(gPara))
return PLUGIN_HANDLED
}
cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(gPara))
set_user_health(id,200)
return PLUGIN_HANDLED
}
Ve sonuç:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
Header size: 368 bytes
Code size: 612 bytes
Data size: 296 bytes
Stack/heap size: 16384 bytes; estimated max. usage=779 cells (3116 bytes)
Total requirements: 17660 bytes
Done.
Bunlar dışında bazı yerlerde mantıksal hata var. Yani compiler'in göremediği ama amaçlanan olayı sağlamayan yerler var.
Satır 26:
PHP- Kodu:
client_print(id,print_chat,"Yeterli Paran Yok!",get_pcvar_num(gPara))
Virgülden sonra ücretin saklandığı cvar ayarından bilgi çıkarmak istemişsin. Bunu kullanmanın bir amacı olabilir, o da kişiye parasının yetmediğinin yanında, ne kadar parası olması gerektiğini belirtmek. Bunun için de gerekli belirtmeyi yapmamışsın.
Doğrusu:
PHP- Kodu:
client_print(id,print_chat,"Yeterli Paran Yok! Gereken Para = %d",get_pcvar_num(gPara))
----
Satır 32:
PHP- Kodu:
set_user_health(id,200)
Sanırım burada kişiye 200 hp verilmesini amaçlıyorsun. Çok emin değilim ama buyhp yani hp satın alma olarak düşünülmüş bir eklentide kişiye para karşılığı hp eklenir. Senin yaptığın, kişinin hp'sini 200'e ayarlamak. Dolayısıyla kişinin hp si örneğin 300 ise, hp satın almak istediğinde hp'si 200 e düşecektir. Bu da iyi bir durum olmaz.
200 HP eklemek için yapılması gereken:
PHP- Kodu:
set_user_health(id, get_user_health(id) + 200)