akcaliberkk dateline='' Wrote: Zaten kullandığın fonksiyonların çoğu bir kütüphane dosyasında veya modülde bu şekilde tanımlanıyor. Kullandığın her fonksiyon bir yerlerde tanımlıStock, public vs kullanarak biz de tanımlanmamış fonksiyonları tanımlıyoruz
public, fonksiyon tanımlamak için kullanılır. Case'in içinde fonksiyon tanımlayamazsın. Sadece kullanabilirsin. Bu yüzden başka bir yerde fonksiyonları public ile tanıtıp, case de ise çağırıcaksın. Fonksiyon çağırma işlemi ise oldukça basit
Fonksiyon_Adi( parametreler )
Örneğin:
public giveawp(id)
var ise case'in içine
giveawp(id)
yazarak fonksiyonun çağrılmasını sağlayabilirsin. Artı, menü yaparken, switch kullanmak zorunda değilsin. Bu işlemi switch kullanmadan da yapabilirsin. Ama senin için biraz zor olabilirSen kendine göre yap. Ben daha sonra pratik yolunu gösteririm
PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
new gAwpPara
new gDeaglePara
new gM4a1Para
new gAk47Para
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /buy","buymenu")
register_clcmd("say_team /buy","buymenu")
register_clcmd("say /awp","giveawp")
register_clcmd("say /deagle","givedeagle")
register_clcmd("say /m4a1","givem4a1")
register_clcmd("say /ak47","giveak47")
register_clcmd("say_team /awp","giveawp")
register_clcmd("say_team /deagle","givedeagle")
register_clcmd("say_team /m4a1","givem4a1")
register_clcmd("say_team /ak47","giveak47")
gAwpPara = register_cvar("amx_awppara","4750")
gDeaglePara = register_cvar("amx_deaglepara","650")
gM4a1Para = register_cvar("amx_m4a1para","3100")
gAk47Para = register_cvar("amx_ak47para","2500")
}
public giveawp(id) {
new AwpPara = get_pcvar_num(gAwpPara)
if(cs_get_user_money(id) < AwpPara) {
client_print(id,print_center,"Yeterli Paran Yok! %d$ Gerekli",AwpPara)
return PLUGIN_HANDLED
}
if(!is_user_alive(id)) {
return PLUGIN_HANDLED
}
if(user_has_weapon(id,18)) {
client_print(id,print_center,"Bu Silaha Zaten Sahipsin!")
return PLUGIN_HANDLED
}
if(cs_get_user_buyzone(id) != 1) {
client_print(id,print_center,"Burada Silah Alamazsin!")
return PLUGIN_HANDLED
}
if(cs_get_user_hasprim(id) != 0) {
client_print(id,print_center,"Zaten Silahin Var, Fazladan Alamazsin!")
return PLUGIN_HANDLED
}
if(cs_get_user_vip(id) != 0) {
client_print(id,print_center,"VIP'ler Bu Komutu Kullanamaz!")
return PLUGIN_HANDLED
}
client_print(id,print_center,"Awp Satin Aldiniz!")
cs_set_user_money(id,cs_get_user_money(id) - AwpPara)
give_item(id,"weapon_awp")
cs_set_user_bpammo(id,CSW_AWP,30)
return PLUGIN_HANDLED
}
public givedeagle(id) {
new DgPara = get_pcvar_num(gDeaglePara)
if(cs_get_user_money(id) < DgPara) {
client_print(id,print_center,"Yeterli Paran Yok! %d$ Gerekli",DgPara)
return PLUGIN_HANDLED
}
if(!is_user_alive(id)) {
return PLUGIN_HANDLED
}
if(user_has_weapon(id,26)) {
client_print(id,print_center,"Bu Silaha Zaten Sahipsin!")
return PLUGIN_HANDLED
}
if(cs_get_user_buyzone(id) != 1) {
client_print(id,print_center,"Burada Silah Alamazsin!")
return PLUGIN_HANDLED
}
if(cs_get_user_vip(id) != 0) {
client_print(id,print_center,"VIP'ler Bu Komutu Kullanamaz!")
return PLUGIN_HANDLED
}
if(has_user_secondary(id)) {
client_print(id,print_center,"Zaten Silahin Var, Fazladan Alamazsin!")
return PLUGIN_HANDLED
}
client_print(id,print_center,"Deagle Satin Aldiniz")
cs_set_user_money(id,cs_get_user_money(id) - DgPara)
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id,CSW_DEAGLE,35)
return PLUGIN_HANDLED
}
public givem4a1(id) {
new M4a1Para = get_pcvar_num(gM4a1Para)
if(cs_get_user_money(id) < M4a1Para) {
client_print(id,print_center,"Yeterli Paran Yok! %d$ Gerekli",M4a1Para)
return PLUGIN_HANDLED
}
if(!is_user_alive(id)) {
return PLUGIN_HANDLED
}
if(user_has_weapon(id,22)) {
client_print(id,print_center,"Bu Silaha Zaten Sahipsin!")
return PLUGIN_HANDLED
}
if(cs_get_user_buyzone(id) != 1) {
client_print(id,print_center,"Burada Silah Alamazsin!")
return PLUGIN_HANDLED
}
if(get_user_team(id) != 2) {
client_print(id,print_center,"Bu Silahi Almak icin CT Olman Gerekiyor!")
return PLUGIN_HANDLED
}
if(cs_get_user_hasprim(id) != 0) {
client_print(id,print_center,"Zaten Silahin Var, Fazladan Alamazsin!")
return PLUGIN_HANDLED
}
if(cs_get_user_vip(id) != 0) {
client_print(id,print_center,"VIP'ler Bu Komutu Kullanamaz!")
return PLUGIN_HANDLED
}
client_print(id,print_center,"M4a1 Satin Aldiniz")
cs_set_user_money(id,cs_get_user_money(id) - M4a1Para)
give_item(id,"weapon_m4a1")
cs_set_user_bpammo(id,CSW_M4A1,90)
return PLUGIN_HANDLED
}
public giveak47(id) {
new Ak47Para = get_pcvar_num(gAk47Para)
if(cs_get_user_money(id) < Ak47Para) {
client_print(id,print_center,"Yeterli Paran Yok! %d$ Gerekli",Ak47Para)
return PLUGIN_HANDLED
}
if(!is_user_alive(id)) {
return PLUGIN_HANDLED
}
if(user_has_weapon(id,28)) {
client_print(id,print_center,"Bu Silaha Zaten Sahipsin!")
return PLUGIN_HANDLED
}
if(cs_get_user_buyzone(id) != 1) {
client_print(id,print_center,"Burada Silah Alamazsin!")
return PLUGIN_HANDLED
}
if(get_user_team(id) != 1) {
client_print(id,print_center,"Bu Silahi Almak icin T Olman Gerekiyor!")
return PLUGIN_HANDLED
}
if(cs_get_user_hasprim(id) != 0) {
client_print(id,print_center,"Zaten Silahin Var, Fazladan Alamazsin!")
return PLUGIN_HANDLED
}
if(cs_get_user_vip(id) != 0) {
client_print(id,print_center,"VIP'ler Bu Komutu Kullanamaz!")
return PLUGIN_HANDLED
}
client_print(id,print_center,"Ak47 Satin Aldiniz")
cs_set_user_money(id,cs_get_user_money(id) - Ak47Para)
give_item(id,"weapon_ak47")
cs_set_user_bpammo(id,CSW_AK47,90)
return PLUGIN_HANDLED
}
stock has_user_secondary( index ) {
new weapons[32],inum;
get_user_weapons(index,weapons,inum)
for( new i; i<inum ; i++ ) {
switch(weapons[i]) {
case CSW_ELITE,CSW_DEAGLE, CSW_FIVESEVEN, CSW_GLOCK18, CSW_USP, CSW_P228: {
return 1;
}
}
}
return 0;
}
public buymenu (id) {
new menu = menu_create("Buy Menu","menu_handler")
menu_additem(menu,"AWP","1",0);
menu_additem(menu,"DEAGLE","2",0);
menu_additem(menu,"M4A1","3",0);
menu_additem(menu,"AK47","4",0);
menu_setprop(menu,MPROP_NEXTNAME,"ILERI>>")
menu_setprop(menu,MPROP_BACKNAME,"<<GERI")
menu_setprop(menu,MPROP_EXITNAME,"CIKIS");
menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_CONTINUE
}
public menu_handler(id,menu,item) {
if(item == MENU_EXIT) {
menu_destroy(menu)
}
new data[6]
switch(str_to_num(data))
{
case 1: {
giveawp(id)
}
case 2: {
givedeagle(id)
}
case 3: {
givem4a1(id)
}
case 4: {
giveak47(id)
}
}
menu_destroy(menu)
}
Menüyü yaptım fakat kafam karışmadı desem yalan olur.
PHP Code:
menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
menu_display(id, menu, 0);
new data[6]
switch(str_to_num(data))
Bunları tam anlamadım, yani plugin de neyi karşılıyorlar ona anlam veremedim.
Birde yine plugini yaparken bir kod daha geldi aklıma, ben bu silah alımları buy gibi yapmak istesem, normal buy da elinizde hangi silahın olduğunun bir önemi yok yenisi alırsan elindekini yere atıyo ve yeni silah geliyo. Bunu nasıl yapabilirim. Yani bi oyuncunun elindeki silahı nasıl yere atabilirim?
Birde plugin sorunsuz bir şekilde compile edildi fakat merak ettiğim; mantık hatası olan bi yer mı?
uhcakiP
Özel Plugin Kodlanır! Steam_ID = STEAM_0:0:54912140
Steam_Nick = Ragnar Lothbrok
https://steamcommunity.com/id/lothbrok


Stock, public vs kullanarak biz de tanımlanmamış fonksiyonları tanımlıyoruz