reapi kütüphanesi ile kodlamaya çalışıyorum eğer pluginde bir sıkıntı varsa söylermisiniz.
ilk jbmenümde
not: daha %5 felan yaptım tam bitmedi birkaç eksiği var bir hata varsa belirtirseniz sevinirim
Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#include <reapi>
#include <fakemeta>
native jb_get_user_packs(id);
native jb_set_user_packs(id, Float:ammount);
/* ------------ Ayarlanacak Yer ------------ */
#define ServerTag "CSDURAGI" // Sunucu Tagınız
#define KisaTag "CSD" // Kısa Tag
#define tsip "Ts3.Csduragi.Com" // Ts3 adresiniz
/* ------------- Modeller ve sesler ------------ */
new const VIEW_MODELT[] = { "models/jbmodeller/csd_thand.mdl" }; /* Yumruk Modeli */
new const PLAYER_MODELT[] = { "models/jbmodeller/csd_thand2.mdl" }; /* Dıs gorunus yumruk modeli */
new const VIEW_Palo[] = { "models/jbmodeller/csd_bicak.mdl" }; /* T Bicak modeli */
new const VIEW_MODELCT[] = { "models/jbmodeller/csd_jop.mdl" }; /* Ct jop */
new const PLAYER_MODELCT[] = { "models/jbmodeller/csd_jop2.mdl" }; /* Ct jop dış gorunuşu */
new const VIEW_Moto[] = { "models/[Shop]JailBreak/Moto/Moto.mdl" }; /* Testere */
new const PLAYER_Moto[] = { "models/[Shop]JailBreak/Moto/Moto2.mdl" }; /* Testere dış gorunuşu */
new const bictes_deploy[] = { "[Shop]JailBreak/Machete/MConvoca.wav" };
new const bictes_slash[] = { "[Shop]JailBreak/Machete/MSlash.wav" };
new const bictes_wall[] = { "[Shop]JailBreak/Machete/MHitWall.wav" };
new const bictes_hit1[] = { "[Shop]JailBreak/Machete/MHit1.wav" };
new const bictes_hit2[] = { "[Shop]JailBreak/Machete/MHit2.wav" };
new const bictes_stab[] = { "[Shop]JailBreak/Machete/MStab.wav" };
new const t_deploy[] = { "[Shop]JailBreak/T/TConvoca.wav" };
new const t_slash1[] = { "[Shop]JailBreak/T/Slash1.wav" };
new const t_wall[] = { "[Shop]JailBreak/T/THitWall.wav" };
new const t_hit1[] = { "[Shop]JailBreak/T/THit1.wav" };
new const t_hit2[] = { "[Shop]JailBreak/T/THit2.wav" };
new const t_hit3[] = { "[Shop]JailBreak/T/THit3.wav" };
new const t_hit4[] = { "[Shop]JailBreak/T/THit4.wav" };
new const t_stab[] = { "[Shop]JailBreak/T/TStab.wav" };
new const ct_deploy[] = { "[Shop]JailBreak/CT/CTConvoca.wav" };
new const ct_slash1[] = { "[Shop]JailBreak/CT/Slash1.wav" };
new const ct_wall[] = { "[Shop]JailBreak/CT/CTHitWall.wav" };
new const ct_hit1[] = { "[Shop]JailBreak/CT/CTHit1.wav" };
new const ct_hit2[] = { "[Shop]JailBreak/CT/CTHit2.wav" };
new const ct_hit3[] = { "[Shop]JailBreak/CT/CTHit3.wav" };
new const ct_hit4[] = { "[Shop]JailBreak/CT/CTHit4.wav" };
new const ct_stab[] = { "[Shop]JailBreak/CT/CTStab.wav" };
/* --------------------------------------------- */
new Float: TL[MAX_CLIENTS+1],cvars[5],TCuchillo[MAX_CLIENTS+1],Destapador[MAX_CLIENTS+1],Motocierra[MAX_CLIENTS+1],bicakkontrol[MAX_CLIENTS+1]
/* --------------------------------------------- */
public plugin_init() {
register_plugin("[ReAPI] Jailbreak Mahkum Menu", "v0.1", "DarknessBerry & BlueBell");
register_clcmd("say /jbmenu", "jbmenu");
register_clcmd("say_team /jbmenu", "jbmenu");
register_clcmd("say /mg", "mgtlver");
register_clcmd("say_team /mg", "mgtlver");
register_clcmd("say /tl", "mgtlver");
register_clcmd("say_team /tl", "mgtlver");
register_clcmd("chooseteam","menugiriskontrol");
register_clcmd("nightvision","menugiriskontrol");
register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1");
register_forward(FM_EmitSound, "Fwd_EmitSound");
register_forward(FM_ClientKill, "fwd_FM_ClientKill");
RegisterHookChain(RG_CBasePlayer_Spawn, "userdogdu",1);
cvars[1] = register_cvar("baslangic_parasi", "5.00"); // Oyun basinda gelicek para
cvars[2] = register_cvar("kill_parasi", "0.99"); // Kill cekince gelen para
cvars[3] = register_cvar("flipknife_para", "1.24"); // Flip knife parasi
cvars[4] = register_cvar("testere_para", "35.15"); // Testere parasi
}
/* -----------------------Menuler & Publicler---------------------- */
public bicakmarket(id){
if(bicakkontrol[id]){
client_print_color(id, id, "^4(^3%s^4) ^1Bicak Marketini ^4Her Elde 1 Kere ^1Kullanilabilir.",ServerTag),jbmenu(id)
}
else{
static blmenu[128]
formatex(blmenu, charsmax(blmenu), "\w%s \rAILESI \d|| \yBicak Marketi",ServerTag);
new menu = menu_create(blmenu, "bicak_devam");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \wFlip \rKnife \d(\y%0.2f TL\d)",KisaTag,get_pcvar_float(cvars[3]));
menu_additem(menu, blmenu, "1");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \rTestere \y+ \wBomba \d(\y%0.2f TL\d)",KisaTag,get_pcvar_float(cvars[4]));
menu_additem(menu, blmenu, "2");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \rReklam \wAt \d(\y+0.90 TL\d)",KisaTag);
menu_additem(menu, blmenu, "3");
menu_setprop(menu, MPROP_EXITNAME, "\dCikis");
menu_display(id, menu, 0);
}
}
public bicak_devam(id, menu, item){
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9],name[32],access,callback;
menu_item_getinfo(menu,item,access,data,charsmax(data),name,charsmax(name),callback);
new key=str_to_num(data);
switch(key){
case 1:{
if(TL[id] >= get_pcvar_float(cvars[3])){
TL[id]-=get_pcvar_float(cvars[3]);
TCuchillo[id]=0,Destapador[id]=true,Motocierra[id]=false,bicakkontrol[id]=true;
rg_remove_item(id, "weapon_knife"),rg_give_item(id, "weapon_knife");
client_print_color(id, id, "^4(^3%s^4) ^1Basarili bir sekilde ^4Flip Knife ^1Satin alinmistir.",ServerTag),jbmenu(id);
} else client_print_color(id, id, "^4(^3%s^4) ^1Uzgunum ^4Flip Knife ^1almak icin yeterli TL'niz yok.",ServerTag);
}
case 2:{
if(TL[id] >= get_pcvar_float(cvars[4])){
TL[id]-=get_pcvar_float(cvars[4]);
TCuchillo[id]=0,Destapador[id]=false,Motocierra[id]=true,bicakkontrol[id]=true;
rg_remove_item(id, "weapon_knife"),rg_give_item(id, "weapon_knife"),rg_give_item(id, "weapon_hegrenade");
client_print_color(id, id, "^4(^3%s^4) ^1Basarili bir sekilde ^4Testere + Bomba ^1Satin alinmistir.",ServerTag),jbmenu(id);
} else client_print_color(id, id, "^4(^3%s^4) ^1Uzgunum ^4Testere + Bomba ^1almak icin yeterli TL'niz yok.",ServerTag),jbmenu(id);
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public jbmenu(id){
if (get_user_team(id) == 1 && is_user_alive(id)){
static blmenu[128]
formatex(blmenu, charsmax(blmenu), "\w%s \rAILESI \d|| \yJailbreak Menusu^n\rTS3: \d%s",ServerTag ,tsip);
new menu = menu_create(blmenu, "jbmenu_devam");
if(bicakkontrol[id]) formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \dBicak Marketi \yKullanildi",KisaTag);
else formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \yBicak \rMarketi",KisaTag);
menu_additem(menu, blmenu, "1");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wT Market \rMenu",KisaTag);
menu_additem(menu, blmenu, "2");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wYetkili \rMenu",KisaTag);
menu_additem(menu, blmenu, "3");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wTL Transfer \rMenu",KisaTag);
menu_additem(menu, blmenu, "4");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wMeslek \rMenu",KisaTag);
menu_additem(menu, blmenu, "5");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wOyuncu \rAyar Menu",KisaTag);
menu_additem(menu, blmenu, "6");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wOyuncu Bonus \rMenu",KisaTag);
menu_additem(menu, blmenu, "6");
menu_setprop(menu, MPROP_EXITNAME, "\dCikis");
menu_display(id, menu, 0);
}
}
public jbmenu_devam(id,menu,item){
if(item == MENU_EXIT){
menu_destroy(menu)
return PLUGIN_HANDLED;
}
new data[9],name[32],access,callback;
menu_item_getinfo(menu,item,access,data,charsmax(data),name,charsmax(name),callback);
new key=str_to_num(data)
switch(key){
case 1:bicakmarket(id)
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public hudmesaj(id) {
if(is_user_alive(id) && get_user_team(id)==1) {
set_task(1.0,"hudmesaj",id);
set_hudmessage(255, 0, 212, -1.0, 0.83, 2, 6.0, 1.0)
show_hudmessage(id, "Cebinizdeki TL [ %0.2f ]^nJbmenuye baglanmak icin [N] Tusuna basiniz.",TL[id])
}
}
public client_putinserver(id) {
TL[id]=get_pcvar_float(cvars[1]);
}
public fwd_FM_ClientKill(id) {
if(get_user_team(id)==1){
TL[id]+=get_pcvar_float(cvars[2]);
}
}
public menugiriskontrol(id) {
new teams=get_user_team(id);
switch(teams){
case 1: jbmenu(id);
case 2: mgtlver(id);
}
return PLUGIN_HANDLED;
}
public mgtlver(id){
if (get_user_team(id) == 2 && is_user_alive(id)){
static blmenu[128]
formatex(blmenu, charsmax(blmenu), "\w%s \rAILESI \d|| \yGardiyan TL-Menu",ServerTag);
new menu = menu_create(blmenu, "mgtlver_devam");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \yTL Ver",KisaTag);
menu_additem(menu, blmenu, "1");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \yTL Al",KisaTag);
menu_additem(menu, blmenu, "2");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \yToplu TL Ver \dSadece Yasayanlar",KisaTag);
menu_additem(menu, blmenu, "3");
formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \yToplu TL Al \dSadece Yasayanlar",KisaTag);
menu_additem(menu, blmenu, "4");
menu_setprop(menu, MPROP_EXITNAME, "\dCikis");
menu_display(id, menu, 0);
}
}
public mgtlver_devam(id, menu, item){
if(item == MENU_EXIT){
menu_destroy(menu)
return PLUGIN_HANDLED;
}
new data[9],name[32],access,callback;
menu_item_getinfo(menu,item,access,data,charsmax(data),name,charsmax(name),callback);
new key=str_to_num(data)
switch(key){
case 1:{
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public plugin_precache(){
precache_model(VIEW_MODELT),precache_model(PLAYER_MODELT),precache_model(VIEW_Moto)
precache_model(VIEW_Palo),precache_model(VIEW_MODELCT),precache_model(PLAYER_MODELCT)
precache_model(PLAYER_Moto)
precache_sound(t_deploy),precache_sound(t_slash1),precache_sound(t_stab),precache_sound(t_wall);
precache_sound(t_hit1),precache_sound(t_hit2),precache_sound(t_hit3),precache_sound(t_hit4);
precache_sound(ct_deploy),precache_sound(ct_slash1),precache_sound(ct_stab),precache_sound(ct_wall);
precache_sound(ct_hit1),precache_sound(ct_hit2),precache_sound(ct_hit3),precache_sound(ct_hit4);
precache_sound(bictes_deploy),precache_sound(bictes_slash),precache_sound(bictes_stab);
precache_sound(bictes_wall),precache_sound(bictes_hit1),precache_sound(bictes_hit2);
}
public userdogdu(id){
rg_set_user_footsteps(id, false);
TCuchillo[id]=1;
Destapador[id]=false;
Motocierra[id]=false;
bicakkontrol[id]=false;
new teams=get_user_team(id);
switch(teams) {
case 1: rg_remove_all_items(id),rg_give_item(id, "weapon_knife"),jbmenu(id),hudmesaj(id)
case 2: show_menu(id,0,""),set_entvar(id, var_health, Float:get_entvar(id, var_health)+50); // 50 Yazan yer gardiyanlara verilecek hp'dir.
}
}
public Event_Change_Weapon(id) {
new slh=read_data(2);
if(slh==CSW_KNIFE) {
new teams=get_user_team(id);
switch(teams) {
case 1: {
if(TCuchillo[id]==1 || TCuchillo[id]==2 || Destapador[id]){
if(!Destapador[id]) set_entvar(id, var_viewmodel, VIEW_MODELT);
else set_entvar(id, var_viewmodel, VIEW_Palo);
set_entvar(id, var_weaponmodel, PLAYER_MODELT);
}else if(Motocierra[id]) set_entvar(id, var_viewmodel, VIEW_Moto),set_entvar(id, var_weaponmodel, PLAYER_Moto);
}
case 2: set_entvar(id, var_viewmodel, VIEW_MODELCT),set_entvar(id, var_weaponmodel, PLAYER_MODELCT);
}
}
}
/* -------------- FWD_EMITSOUND Bu kisim Necati Doğan'dan alınmıştır. Mükemmel ve temiz bir şekilde olduğu için sectm eğer sıkıntı olursa mesaj atmanız yeterli ---------*/
public Fwd_EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch){
if(!is_user_connected(id) || !equal(sample[8], "kni", 3)) return FMRES_IGNORED;
new teams=get_user_team(id);
switch(teams){
case 1:{
if(TCuchillo[id]==1 || TCuchillo[id]==2){
if(equal(sample[14], "sla", 3)){
engfunc(EngFunc_EmitSound, id, channel, t_slash1, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}else if(equal(sample,"weapons/knife_deploy1.wav")){
engfunc(EngFunc_EmitSound, id, channel, t_deploy, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}else if(equal(sample[14], "hit", 3)){
if(sample[17] == 'w'){
engfunc(EngFunc_EmitSound, id, channel, t_wall, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}else{
new mnum=random_num(1,4);
switch(mnum){
case 1: engfunc(EngFunc_EmitSound, id, channel, t_hit1, volume, attn, flags, pitch);
case 2: engfunc(EngFunc_EmitSound, id, channel, t_hit2, volume, attn, flags, pitch);
case 3: engfunc(EngFunc_EmitSound, id, channel, t_hit3, volume, attn, flags, pitch);
case 4: engfunc(EngFunc_EmitSound, id, channel, t_hit4, volume, attn, flags, pitch);
}
return FMRES_SUPERCEDE;
}
}else if(equal(sample[14], "sta", 3)){
engfunc(EngFunc_EmitSound, id, channel, t_stab, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
}else if(Motocierra[id] || Destapador[id]){
if(equal(sample[14], "sla", 3)){
engfunc(EngFunc_EmitSound, id, channel, bictes_slash, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}else if(equal(sample,"weapons/knife_deploy1.wav")){
engfunc(EngFunc_EmitSound, id, channel, bictes_deploy, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}else if(equal(sample[14], "hit", 3)){
if(sample[17] == 'w'){
engfunc(EngFunc_EmitSound, id, channel, bictes_wall, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}else{
new mnum=random_num(1,2);
switch(mnum){
case 1: engfunc(EngFunc_EmitSound, id, channel, bictes_hit1, volume, attn, flags, pitch);
case 2: engfunc(EngFunc_EmitSound, id, channel, bictes_hit2, volume, attn, flags, pitch);
}
return FMRES_SUPERCEDE;
}
}else if(equal(sample[14], "sta", 3)){
engfunc(EngFunc_EmitSound, id, channel, bictes_stab, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
}
}
case 2: {
if(equal(sample[14], "sla", 3)){
engfunc(EngFunc_EmitSound, id, channel, ct_slash1, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}else if(equal(sample,"weapons/knife_deploy1.wav")){
engfunc(EngFunc_EmitSound, id, channel, ct_deploy, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}else if(equal(sample[14], "hit", 3)){
if(sample[17] == 'w'){
engfunc(EngFunc_EmitSound, id, channel, ct_wall, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}else{
new mnum=random_num(1,4);
switch(mnum){
case 1: engfunc(EngFunc_EmitSound, id, channel, ct_hit1, volume, attn, flags, pitch);
case 2: engfunc(EngFunc_EmitSound, id, channel, ct_hit2, volume, attn, flags, pitch);
case 3: engfunc(EngFunc_EmitSound, id, channel, ct_hit3, volume, attn, flags, pitch);
case 4: engfunc(EngFunc_EmitSound, id, channel, ct_hit4, volume, attn, flags, pitch);
}
return FMRES_SUPERCEDE;
}
}else if(equal(sample[14], "sta", 3)){
engfunc(EngFunc_EmitSound, id, channel, ct_stab, volume, attn, flags, pitch);
return FMRES_SUPERCEDE;
}
}
}
return FMRES_IGNORED;
}