Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Eklentideki Sorunu Düzeltirmisiniz

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

hayku
Mesajlar: 297
Kayıt: Çrş Tem 17, 2019 6:45 pm
Konum: Ordu
Clan İsmi: Alpha Game Clan

Eklentideki Sorunu Düzeltirmisiniz

Mesaj gönderen hayku »

kusura bakma benim hatam;

Kod: Tümünü seç

#pragma semicolon 1
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <xs>

#define AK_HASAR 1.5  
#define MG3_HASAR 2  
#define MIN_HASAR 1.8  
#define CROS_HASAR 1.3  

const WEAPONS_BITSUM = (1<<CSW_KNIFE|1<<CSW_HEGRENADE|1<<CSW_FLASHBANG|1<<CSW_SMOKEGRENADE|1<<CSW_C4);

#define ADMIN_JBVIP ADMIN_CVAR // VIP'nin Admin yetkisi ben örnek olarak "kick" yetkisi verdim siz istediğiniz gibi değiştirebilirsiniz...

#if cellbits == 32 
const OFFSET_CLIPAMMO = 51 ;
#else 
const OFFSET_CLIPAMMO = 65 ;
#endif 
const OFFSET_LINUX_WEAPONS = 4;

new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 } ;

new const VERSIYON[] = { 
	"1.0" 
};

new const PREFIX[] = { 
	"!g[VIPMENU]:!n" 
};

new Float:cok_hizli = 800.0;
new Float:normal_hizli = 250.0;
new Float: cl_pushangle[33][3];
new	sinirsizmermi[33],
ozelsilahlar[33],
ak47_used[33],
hizver[33],
mg3_used[33],
cross_used[33],
g_dead[33],
ozelslh,
minigun_used[33],
mermisekmeme[33];

new VIEW_AKGOLD[]        = "models/jailbreak/v_dl_goldenak.mdl";   
new PLAYER_AKGOLD[]     = "models/jailbreak/p_dl_goldenak.mdl";  
new VIEW_MG3[]        = "models/jailbreak/v_mg3.mdl";   
new PLAYER_MG3[]     = "models/jailbreak/p_mg3.mdl";  
new VIEW_CROSSBOW[]        = "models/jailbreak/v_crossbow_cso.mdl";   
new PLAYER_CROSSBOW[]     = "models/jailbreak/p_crossbow_cso.mdl";  
new VIEW_MINIGUN[]        = "models/jailbreak/v_m134_hum.mdl";   
new PLAYER_MINIGUN[]     = "models/jailbreak/p_m134.mdl"; 

public plugin_precache() {
	precache_model("models/rpgrocket.mdl");
	precache_model(VIEW_AKGOLD);
	precache_model(PLAYER_AKGOLD);  
	precache_model(VIEW_MG3);  
	precache_model(PLAYER_MG3);  
	precache_model(VIEW_CROSSBOW);  
	precache_model(PLAYER_CROSSBOW);  
	precache_model(VIEW_MINIGUN);  
	precache_model(PLAYER_MINIGUN);  
}
public plugin_init(){
	register_plugin("[JB]: Gelismis VIP Menu", VERSIYON, "Optimist");
	
	RegisterHam(Ham_Spawn, "player", "YeniTur", true);
	register_event("CurWeapon", "HookCurWeapon", "be", "1=1");
	
	RegisterHam(Ham_TakeDamage, "player", "silahhasar", 0);
	
	register_clcmd("say vipmenu", "VmenuKomut");
	register_clcmd("say vmenu", "VmenuKomut");
	register_clcmd("say /vmenu", "VmenuKomut");
	register_clcmd("say /vipmenu", "VmenuKomut");
	register_clcmd("say_team vipmenu", "VmenuKomut");
	register_clcmd("say_team /vipmenu", "VmenuKomut");
	
	register_message(get_user_msgid("CurWeapon"), "silahta_sinirsiz_mermi_olayi");
	
	new silahisim[24];
	for (new id = 1; id <= 30; id++){
		if (!(WEAPONS_BITSUM & 1 << id) && get_weaponname(id, silahisim, 23)){
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Pre");
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Post", 1);
		}
	}
}
public YeniTur(id) {
	g_dead[id]++;
	if(g_dead[id]>=3){
		g_dead[id]=0;
		for(new i = 1; i <= get_maxplayers(); i++){
			set_view(i,CAMERA_NONE);
			hizver[i] = false;
			set_user_maxspeed(i, normal_hizli);
			set_user_rendering( i, _, 0, 0, 0, _, 0 );
			strip_user_weapons(i);
			give_item(i, "weapon_knife");
			set_user_footsteps(i, 0);
			mermisekmeme[i] = false;
			sinirsizmermi[i] = false;
			ak47_used[i] = false;
			mg3_used[i] = false;
			cross_used[i] = false;
			minigun_used[i] = false;
		}
	}
}
public VmenuKomut(id) {
	if((get_user_flags(id) & ADMIN_JBVIP) && (g_dead[id]>=3)){
		VipMenu(id);
	}
	else if(g_dead[id]>=3){
		client_printc(id, "%s Zaten !gVIP Menu!nyu daha once kullandiniz. Lutfen 3 tur bekleyin...", PREFIX);
	}
	else{
		client_printc(id, "%s !gVIP Menu!nyu kullanabilmeniz icin !gVIP!n Olmaniz Gerekmektedir.", PREFIX);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}
public VipMenu(id) {
	
	new menu = menu_create("\y:VIP Menu:", "VipMenu_devam");
	
	menu_additem(menu, "\w225 HP ve 255 Armor", "1", 0);
	menu_additem(menu, "\wOzel Silahlar","2", 0);
	menu_additem(menu, "\wYercekimi - \r(450)", "3", 0);
	menu_additem(menu, "\wHiz", "4", 0);
	menu_additem(menu, "\w3D Gosterme \r(Sadece 1 Tur)", "5", 0);
	menu_additem(menu, "\wGorunmezlik", "6", 0);
	menu_additem(menu, "\wYari Yariya Tekrar Dogma Sansi", "7", 0);
	menu_additem(menu, "\wMermi Sekmeme(Sadece 1 Tur)","8", 0);
	menu_additem(menu, "\wSinirsiz Mermi(Sadece 1 Tur)","9", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}
public VipMenu_devam(id, menu, item) {
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key){
		case 1:{
			set_user_health(id, 225);
			set_user_armor(id, 225);
			
			client_printc(id, "%s !tMenuden:!n !g255 HP!n ve !g255 Armor!n aldiniz", PREFIX);
		}
		case 2:{
			ozel(id);
			
			client_printc(id, "%s !tMenuden:!n !gOzel Silahlari!n sectiniz", PREFIX);
		}
		case 3:{
			set_user_gravity(id, 0.450);
			
			client_printc(id, "%s !tMenuden:!n !gYercekimi!n aldiniz", PREFIX);
		}
		case 4:{
			hizver[id] = true;
			
			set_user_maxspeed(id, cok_hizli);
			
			client_printc(id, "%s !tMenuden:!n !gHiz!n aldiniz", PREFIX);
		}
		case 5:{
			set_view(id,CAMERA_3RDPERSON);
			
			client_printc(id, "%s !tMenuden:!n !g3D Gosterme!n aldiniz", PREFIX);
		}
		case 6:{
			set_user_rendering(id, kRenderFxNone, 50, 50, 50, kRenderTransAdd, 50);
			set_user_footsteps(id, 1);
			
			client_printc(id, "%s !tMenuden:!n !gGorunmezlik!n aldiniz", PREFIX);
		}
		case 7:{
			yenidendog(id);
			
			client_printc(id, "%s !tMenuden:!n !gYari !tYariya!n !gTekrar Dogma!n sansini sectiniz.Sansliysan Tekrar Dogarsin :).", PREFIX);
		}
		case 8:{
			mermisekmeme[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gMermi Sekmeme!n sectiniz.!tMermileriniz artik sekmeyecek!!!n.", PREFIX);
		}
		case 9:{
			sinirsizmermi[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gSinirsiz Mermi!n sectiniz.!tMermileriniz artik sinirsiz!!!n.", PREFIX);
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public ozel(id){
	if(ozelsilahlar[id]){
		client_printc(id,"Menuyu her turda ^3bir defa^1 kullanabilirsiniz!");
	}
	else{
		ozelslh = menu_create("Ozel Silahinizi Secin:","OzelSilahlar_Olustur"); 
		menu_additem(ozelslh, "Golden Ak47", "1");
		menu_additem(ozelslh, "Mg13", "2");
		menu_additem(ozelslh, "Minigun", "3");
		menu_additem(ozelslh, "Crossbow", "4");
		menu_setprop(ozelslh, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, ozelslh, 0);  
	}
}
public OzelSilahlar_Olustur(id,menu,item){
	if(item == MENU_EXIT) {  
		menu_destroy(menu);  
		return PLUGIN_HANDLED;  
	} 
	new data[6], szName[64]; 
	new access, callback;
	menu_item_getinfo(ozelslh, item, access, data,charsmax(data), szName,charsmax(szName), callback); 
	new key = str_to_num(data);
	switch(key) {
		case 1:  {
			ak47_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
			client_printc(id,"^3Golden Ak47^1 Alindi.");
		}
		case 2:  {
			mg3_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m3");
			cs_set_user_bpammo(id, CSW_M3, 90);
			client_printc(id,"^3Mg3^1 Alindi.");
		}
		case 3:  {
			minigun_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m249");
			cs_set_user_bpammo(id, CSW_M249, 90);
			client_printc(id,"^3Minigun^1 Alindi.");
		}
		case 4:  {
			cross_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_awp");
			cs_set_user_bpammo(id, CSW_AWP, 90);
			client_printc(id,"^3Crossbow^1 Alindi.");
		}
	}
	menu_destroy(ozelslh);
	return PLUGIN_HANDLED; 
}
public HookCurWeapon(id) {
	new silahID = read_data(2);
	
	if(ak47_used[id] && silahID == CSW_AK47)  {  
		set_pev(id, pev_viewmodel2, VIEW_AKGOLD);  
		set_pev(id, pev_weaponmodel2, PLAYER_AKGOLD);  
	}  
	if(mg3_used[id] && silahID == CSW_M3) {  
		set_pev(id, pev_viewmodel2, VIEW_MG3);  
		set_pev(id, pev_weaponmodel2, PLAYER_MG3);  
	}  
	if(cross_used[id] && silahID == CSW_AWP) {  
		set_pev(id, pev_viewmodel2, VIEW_CROSSBOW);  
		set_pev(id, pev_weaponmodel2, PLAYER_CROSSBOW);  
	}  
	if(minigun_used[id] && silahID == CSW_M249) {  
		set_pev(id, pev_viewmodel2, VIEW_MINIGUN);  
		set_pev(id, pev_weaponmodel2, PLAYER_MINIGUN);  
	}  
	if(hizver[id]){
		set_user_maxspeed(id, cok_hizli);
	}
	return PLUGIN_CONTINUE;
}
public silahhasar(pevVictim, pevInflictor, pevAttacker, Float:flDamage, iDmgBits) {  
	if(!(1 <= pevAttacker <= get_maxplayers())) {   
		return HAM_HANDLED;   
	}
	if(!is_user_alive(pevAttacker)) {   
		return HAM_HANDLED;   
	}
	if(ak47_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * AK_HASAR); 
	}  
	if(mg3_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MG3_HASAR);
	}  
	if(cross_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * CROS_HASAR);
	}  
	if(minigun_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MIN_HASAR);
	}  
	
	return HAM_IGNORED;   
}  
public yenidendog(id) {
	if(random (2)){
		ExecuteHamB(Ham_CS_RoundRespawn, id);
		client_printc(id, "%s Tekrar !gDogdunuz!n...", PREFIX);
	}
}
public fw_Weapon_PrimaryAttack_Pre(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		pev(id, pev_punchangle, cl_pushangle[id]);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public fw_Weapon_PrimaryAttack_Post(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		new Float: push[3];
		pev(id, pev_punchangle, push);
		xs_vec_sub(push, cl_pushangle[id], push);
		xs_vec_mul_scalar(push, 0.0, push);
		xs_vec_add(push, cl_pushangle[id], push);
		set_pev(id, pev_punchangle, push);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public silahta_sinirsiz_mermi_olayi(msg_id, msg_dest, msg_entity) {
	if (!sinirsizmermi[msg_entity])
		return;
	
	if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
		return;
	
	static weapon, clip;
	weapon = get_msg_arg_int(2);
	clip = get_msg_arg_int(3);
	
	if (MAXCLIP[weapon] > 2){
		set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon]);
		
		if (clip < 2){
			static wname[32], weapon_ent;
			get_weaponname(weapon, wname, sizeof wname - 1);
			weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity);
			
			fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon]);
		}
	}
}
stock fm_find_ent_by_owner(entity, const classname[], owner) {
	while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}
	
	return entity;
}
stock fm_set_weapon_ammo(entity, amount){
	set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);
}
stock client_printc(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "!n", "^x01"); 
	replace_all(msg, 190, "!g", "^x04"); 
	replace_all(msg, 190, "!t", "^x03"); 
	
	if (id) players[0] = id; else get_players(players, count, "ch");{
		for (new i = 0; i < count; i++){
			if (is_user_connected(players[i])){
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
}

Link:
Linklerini gizle
Linki Kopyala

F.T.H
Mesajlar: 546
Kayıt: Pzr Mar 19, 2017 12:55 pm
Konum: Ϲ★
İletişim:

Eklentideki Sorunu Düzeltirmisiniz

Mesaj gönderen F.T.H »

@hayku Oyuncu her doğduğunda yeni tur fonksiyonu çalıştırılıyor fakat for döngüsü ile tüm oyuncular alındığı için kim üçten fazla ölürse herkesin silahı alınacak for döngüsü silinip i yerine id yazılırsa sorun olmayacaktır

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

hayku
Mesajlar: 297
Kayıt: Çrş Tem 17, 2019 6:45 pm
Konum: Ordu
Clan İsmi: Alpha Game Clan

Eklentideki Sorunu Düzeltirmisiniz

Mesaj gönderen hayku »

F.T.H yazdı: Cmt Ara 14, 2019 11:07 pm @hayku Oyuncu her doğduğunda yeni tur fonksiyonu çalıştırılıyor fakat for döngüsü ile tüm oyuncular alındığı için kim üçten fazla ölürse herkesin silahı alınacak for döngüsü silinip i yerine id yazılırsa sorun olmayacaktır

Kod: Tümünü seç

#pragma semicolon 1
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <xs>

#define AK_HASAR 1.5  
#define MG3_HASAR 2  
#define MIN_HASAR 1.8  
#define CROS_HASAR 1.3  

const WEAPONS_BITSUM = (1<<CSW_KNIFE|1<<CSW_HEGRENADE|1<<CSW_FLASHBANG|1<<CSW_SMOKEGRENADE|1<<CSW_C4);

#define ADMIN_JBVIP ADMIN_CVAR // VIP'nin Admin yetkisi ben örnek olarak "kick" yetkisi verdim siz istediğiniz gibi değiştirebilirsiniz...

#if cellbits == 32 
const OFFSET_CLIPAMMO = 51 ;
#else 
const OFFSET_CLIPAMMO = 65 ;
#endif 
const OFFSET_LINUX_WEAPONS = 4;

new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 } ;

new const VERSIYON[] = { 
	"1.0" 
};

new const PREFIX[] = { 
	"!g[VIPMENU]:!n" 
};

new Float:cok_hizli = 800.0;
new Float:normal_hizli = 250.0;
new Float: cl_pushangle[33][3];
new	sinirsizmermi[33],
ozelsilahlar[33],
ak47_used[33],
hizver[33],
mg3_used[33],
cross_used[33],
g_dead[33],
ozelslh,
minigun_used[33],
mermisekmeme[33];

new VIEW_AKGOLD[]        = "models/jailbreak/v_dl_goldenak.mdl";   
new PLAYER_AKGOLD[]     = "models/jailbreak/p_dl_goldenak.mdl";  
new VIEW_MG3[]        = "models/jailbreak/v_mg3.mdl";   
new PLAYER_MG3[]     = "models/jailbreak/p_mg3.mdl";  
new VIEW_CROSSBOW[]        = "models/jailbreak/v_crossbow_cso.mdl";   
new PLAYER_CROSSBOW[]     = "models/jailbreak/p_crossbow_cso.mdl";  
new VIEW_MINIGUN[]        = "models/jailbreak/v_m134_hum.mdl";   
new PLAYER_MINIGUN[]     = "models/jailbreak/p_m134.mdl"; 

public plugin_precache() {
	precache_model("models/rpgrocket.mdl");
	precache_model(VIEW_AKGOLD);
	precache_model(PLAYER_AKGOLD);  
	precache_model(VIEW_MG3);  
	precache_model(PLAYER_MG3);  
	precache_model(VIEW_CROSSBOW);  
	precache_model(PLAYER_CROSSBOW);  
	precache_model(VIEW_MINIGUN);  
	precache_model(PLAYER_MINIGUN);  
}
public plugin_init(){
	register_plugin("[JB]: Gelismis VIP Menu", VERSIYON, "Optimist");
	
	RegisterHam(Ham_Spawn, "player", "YeniTur", true);
	register_event("CurWeapon", "HookCurWeapon", "be", "1=1");
	
	RegisterHam(Ham_TakeDamage, "player", "silahhasar", 0);
	
	register_clcmd("say vipmenu", "VmenuKomut");
	register_clcmd("say vmenu", "VmenuKomut");
	register_clcmd("say /vmenu", "VmenuKomut");
	register_clcmd("say /vipmenu", "VmenuKomut");
	register_clcmd("say_team vipmenu", "VmenuKomut");
	register_clcmd("say_team /vipmenu", "VmenuKomut");
	
	register_message(get_user_msgid("CurWeapon"), "silahta_sinirsiz_mermi_olayi");
	
	new silahisim[24];
	for (new id = 1; id <= 30; id++){
		if (!(WEAPONS_BITSUM & 1 << id) && get_weaponname(id, silahisim, 23)){
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Pre");
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Post", 1);
		}
	}
}
public YeniTur(id) {
	g_dead[id]++;
	if(g_dead[id]>=3){
		g_dead[id]=0;
		set_view(id,CAMERA_NONE);
		hizver[id] = false;
		set_user_maxspeed(id, normal_hizli);
		set_user_rendering( id, _, 0, 0, 0, _, 0 );
		strip_user_weapons(id);
		give_item(id, "weapon_knife");
		set_user_footsteps(id, 0);
		mermisekmeme[id] = false;
		sinirsizmermi[id] = false;
		ak47_used[id] = false;
		mg3_used[id] = false;
		cross_used[id] = false;
		minigun_used[id] = false;
	}
}
public VmenuKomut(id) {
	if((get_user_flags(id) & ADMIN_JBVIP) && (g_dead[id]>=3)){
		VipMenu(id);
	}
	else if(g_dead[id]>=3){
		client_printc(id, "%s Zaten !gVIP Menu!nyu daha once kullandiniz. Lutfen 3 tur bekleyin...", PREFIX);
	}
	else{
		client_printc(id, "%s !gVIP Menu!nyu kullanabilmeniz icin !gVIP!n Olmaniz Gerekmektedir.", PREFIX);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}
public VipMenu(id) {
	
	new menu = menu_create("\y:VIP Menu:", "VipMenu_devam");
	
	menu_additem(menu, "\w225 HP ve 255 Armor", "1", 0);
	menu_additem(menu, "\wOzel Silahlar","2", 0);
	menu_additem(menu, "\wYercekimi - \r(450)", "3", 0);
	menu_additem(menu, "\wHiz", "4", 0);
	menu_additem(menu, "\w3D Gosterme \r(Sadece 1 Tur)", "5", 0);
	menu_additem(menu, "\wGorunmezlik", "6", 0);
	menu_additem(menu, "\wYari Yariya Tekrar Dogma Sansi", "7", 0);
	menu_additem(menu, "\wMermi Sekmeme(Sadece 1 Tur)","8", 0);
	menu_additem(menu, "\wSinirsiz Mermi(Sadece 1 Tur)","9", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}
public VipMenu_devam(id, menu, item) {
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key){
		case 1:{
			set_user_health(id, 225);
			set_user_armor(id, 225);
			
			client_printc(id, "%s !tMenuden:!n !g255 HP!n ve !g255 Armor!n aldiniz", PREFIX);
		}
		case 2:{
			ozel(id);
			
			client_printc(id, "%s !tMenuden:!n !gOzel Silahlari!n sectiniz", PREFIX);
		}
		case 3:{
			set_user_gravity(id, 0.450);
			
			client_printc(id, "%s !tMenuden:!n !gYercekimi!n aldiniz", PREFIX);
		}
		case 4:{
			hizver[id] = true;
			
			set_user_maxspeed(id, cok_hizli);
			
			client_printc(id, "%s !tMenuden:!n !gHiz!n aldiniz", PREFIX);
		}
		case 5:{
			set_view(id,CAMERA_3RDPERSON);
			
			client_printc(id, "%s !tMenuden:!n !g3D Gosterme!n aldiniz", PREFIX);
		}
		case 6:{
			set_user_rendering(id, kRenderFxNone, 50, 50, 50, kRenderTransAdd, 50);
			set_user_footsteps(id, 1);
			
			client_printc(id, "%s !tMenuden:!n !gGorunmezlik!n aldiniz", PREFIX);
		}
		case 7:{
			yenidendog(id);
			
			client_printc(id, "%s !tMenuden:!n !gYari !tYariya!n !gTekrar Dogma!n sansini sectiniz.Sansliysan Tekrar Dogarsin :).", PREFIX);
		}
		case 8:{
			mermisekmeme[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gMermi Sekmeme!n sectiniz.!tMermileriniz artik sekmeyecek!!!n.", PREFIX);
		}
		case 9:{
			sinirsizmermi[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gSinirsiz Mermi!n sectiniz.!tMermileriniz artik sinirsiz!!!n.", PREFIX);
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public ozel(id){
	if(ozelsilahlar[id]){
		client_printc(id,"Menuyu her turda ^3bir defa^1 kullanabilirsiniz!");
	}
	else{
		ozelslh = menu_create("Ozel Silahinizi Secin:","OzelSilahlar_Olustur"); 
		menu_additem(ozelslh, "Golden Ak47", "1");
		menu_additem(ozelslh, "Mg13", "2");
		menu_additem(ozelslh, "Minigun", "3");
		menu_additem(ozelslh, "Crossbow", "4");
		menu_setprop(ozelslh, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, ozelslh, 0);  
	}
}
public OzelSilahlar_Olustur(id,menu,item){
	if(item == MENU_EXIT) {  
		menu_destroy(menu);  
		return PLUGIN_HANDLED;  
	} 
	new data[6], szName[64]; 
	new access, callback;
	menu_item_getinfo(ozelslh, item, access, data,charsmax(data), szName,charsmax(szName), callback); 
	new key = str_to_num(data);
	switch(key) {
		case 1:  {
			ak47_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
			client_printc(id,"^3Golden Ak47^1 Alindi.");
		}
		case 2:  {
			mg3_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m3");
			cs_set_user_bpammo(id, CSW_M3, 90);
			client_printc(id,"^3Mg3^1 Alindi.");
		}
		case 3:  {
			minigun_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m249");
			cs_set_user_bpammo(id, CSW_M249, 90);
			client_printc(id,"^3Minigun^1 Alindi.");
		}
		case 4:  {
			cross_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_awp");
			cs_set_user_bpammo(id, CSW_AWP, 90);
			client_printc(id,"^3Crossbow^1 Alindi.");
		}
	}
	menu_destroy(ozelslh);
	return PLUGIN_HANDLED; 
}
public HookCurWeapon(id) {
	new silahID = read_data(2);
	
	if(ak47_used[id] && silahID == CSW_AK47)  {  
		set_pev(id, pev_viewmodel2, VIEW_AKGOLD);  
		set_pev(id, pev_weaponmodel2, PLAYER_AKGOLD);  
	}  
	if(mg3_used[id] && silahID == CSW_M3) {  
		set_pev(id, pev_viewmodel2, VIEW_MG3);  
		set_pev(id, pev_weaponmodel2, PLAYER_MG3);  
	}  
	if(cross_used[id] && silahID == CSW_AWP) {  
		set_pev(id, pev_viewmodel2, VIEW_CROSSBOW);  
		set_pev(id, pev_weaponmodel2, PLAYER_CROSSBOW);  
	}  
	if(minigun_used[id] && silahID == CSW_M249) {  
		set_pev(id, pev_viewmodel2, VIEW_MINIGUN);  
		set_pev(id, pev_weaponmodel2, PLAYER_MINIGUN);  
	}  
	if(hizver[id]){
		set_user_maxspeed(id, cok_hizli);
	}
	return PLUGIN_CONTINUE;
}
public silahhasar(pevVictim, pevInflictor, pevAttacker, Float:flDamage, iDmgBits) {  
	if(!(1 <= pevAttacker <= get_maxplayers())) {   
		return HAM_HANDLED;   
	}
	if(!is_user_alive(pevAttacker)) {   
		return HAM_HANDLED;   
	}
	if(ak47_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * AK_HASAR); 
	}  
	if(mg3_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MG3_HASAR);
	}  
	if(cross_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * CROS_HASAR);
	}  
	if(minigun_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MIN_HASAR);
	}  
	
	return HAM_IGNORED;   
}  
public yenidendog(id) {
	if(random (2)){
		ExecuteHamB(Ham_CS_RoundRespawn, id);
		client_printc(id, "%s Tekrar !gDogdunuz!n...", PREFIX);
	}
}
public fw_Weapon_PrimaryAttack_Pre(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		pev(id, pev_punchangle, cl_pushangle[id]);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public fw_Weapon_PrimaryAttack_Post(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		new Float: push[3];
		pev(id, pev_punchangle, push);
		xs_vec_sub(push, cl_pushangle[id], push);
		xs_vec_mul_scalar(push, 0.0, push);
		xs_vec_add(push, cl_pushangle[id], push);
		set_pev(id, pev_punchangle, push);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public silahta_sinirsiz_mermi_olayi(msg_id, msg_dest, msg_entity) {
	if (!sinirsizmermi[msg_entity])
		return;
	
	if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
		return;
	
	static weapon, clip;
	weapon = get_msg_arg_int(2);
	clip = get_msg_arg_int(3);
	
	if (MAXCLIP[weapon] > 2){
		set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon]);
		
		if (clip < 2){
			static wname[32], weapon_ent;
			get_weaponname(weapon, wname, sizeof wname - 1);
			weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity);
			
			fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon]);
		}
	}
}
stock fm_find_ent_by_owner(entity, const classname[], owner) {
	while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}
	
	return entity;
}
stock fm_set_weapon_ammo(entity, amount){
	set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);
}
stock client_printc(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "!n", "^x01"); 
	replace_all(msg, 190, "!g", "^x04"); 
	replace_all(msg, 190, "!t", "^x03"); 
	
	if (id) players[0] = id; else get_players(players, count, "ch");{
		for (new i = 0; i < count; i++){
			if (is_user_connected(players[i])){
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
}

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
İlyas ERTEKİN
Mesajlar: 894
Kayıt: Pzt Haz 05, 2017 11:34 am

Eklentideki Sorunu Düzeltirmisiniz

Mesaj gönderen İlyas ERTEKİN »

hayku yazdı: Cmt Ara 14, 2019 11:09 pm
F.T.H yazdı: Cmt Ara 14, 2019 11:07 pm @hayku Oyuncu her doğduğunda yeni tur fonksiyonu çalıştırılıyor fakat for döngüsü ile tüm oyuncular alındığı için kim üçten fazla ölürse herkesin silahı alınacak for döngüsü silinip i yerine id yazılırsa sorun olmayacaktır

Kod: Tümünü seç

#pragma semicolon 1
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <xs>

#define AK_HASAR 1.5  
#define MG3_HASAR 2  
#define MIN_HASAR 1.8  
#define CROS_HASAR 1.3  

const WEAPONS_BITSUM = (1<<CSW_KNIFE|1<<CSW_HEGRENADE|1<<CSW_FLASHBANG|1<<CSW_SMOKEGRENADE|1<<CSW_C4);

#define ADMIN_JBVIP ADMIN_CVAR // VIP'nin Admin yetkisi ben örnek olarak "kick" yetkisi verdim siz istediğiniz gibi değiştirebilirsiniz...

#if cellbits == 32 
const OFFSET_CLIPAMMO = 51 ;
#else 
const OFFSET_CLIPAMMO = 65 ;
#endif 
const OFFSET_LINUX_WEAPONS = 4;

new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 } ;

new const VERSIYON[] = { 
	"1.0" 
};

new const PREFIX[] = { 
	"!g[VIPMENU]:!n" 
};

new Float:cok_hizli = 800.0;
new Float:normal_hizli = 250.0;
new Float: cl_pushangle[33][3];
new	sinirsizmermi[33],
ozelsilahlar[33],
ak47_used[33],
hizver[33],
mg3_used[33],
cross_used[33],
g_dead[33],
ozelslh,
minigun_used[33],
mermisekmeme[33];

new VIEW_AKGOLD[]        = "models/jailbreak/v_dl_goldenak.mdl";   
new PLAYER_AKGOLD[]     = "models/jailbreak/p_dl_goldenak.mdl";  
new VIEW_MG3[]        = "models/jailbreak/v_mg3.mdl";   
new PLAYER_MG3[]     = "models/jailbreak/p_mg3.mdl";  
new VIEW_CROSSBOW[]        = "models/jailbreak/v_crossbow_cso.mdl";   
new PLAYER_CROSSBOW[]     = "models/jailbreak/p_crossbow_cso.mdl";  
new VIEW_MINIGUN[]        = "models/jailbreak/v_m134_hum.mdl";   
new PLAYER_MINIGUN[]     = "models/jailbreak/p_m134.mdl"; 

public plugin_precache() {
	precache_model("models/rpgrocket.mdl");
	precache_model(VIEW_AKGOLD);
	precache_model(PLAYER_AKGOLD);  
	precache_model(VIEW_MG3);  
	precache_model(PLAYER_MG3);  
	precache_model(VIEW_CROSSBOW);  
	precache_model(PLAYER_CROSSBOW);  
	precache_model(VIEW_MINIGUN);  
	precache_model(PLAYER_MINIGUN);  
}
public plugin_init(){
	register_plugin("[JB]: Gelismis VIP Menu", VERSIYON, "Optimist");
	
	RegisterHam(Ham_Spawn, "player", "YeniTur", true);
	register_event("CurWeapon", "HookCurWeapon", "be", "1=1");
	
	RegisterHam(Ham_TakeDamage, "player", "silahhasar", 0);
	
	register_clcmd("say vipmenu", "VmenuKomut");
	register_clcmd("say vmenu", "VmenuKomut");
	register_clcmd("say /vmenu", "VmenuKomut");
	register_clcmd("say /vipmenu", "VmenuKomut");
	register_clcmd("say_team vipmenu", "VmenuKomut");
	register_clcmd("say_team /vipmenu", "VmenuKomut");
	
	register_message(get_user_msgid("CurWeapon"), "silahta_sinirsiz_mermi_olayi");
	
	new silahisim[24];
	for (new id = 1; id <= 30; id++){
		if (!(WEAPONS_BITSUM & 1 << id) && get_weaponname(id, silahisim, 23)){
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Pre");
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Post", 1);
		}
	}
}
public YeniTur(id) {
	g_dead[id]++;
	if(g_dead[id]>=3){
		g_dead[id]=0;
		set_view(id,CAMERA_NONE);
		hizver[id] = false;
		set_user_maxspeed(id, normal_hizli);
		set_user_rendering( id, _, 0, 0, 0, _, 0 );
		strip_user_weapons(id);
		give_item(id, "weapon_knife");
		set_user_footsteps(id, 0);
		mermisekmeme[id] = false;
		sinirsizmermi[id] = false;
		ak47_used[id] = false;
		mg3_used[id] = false;
		cross_used[id] = false;
		minigun_used[id] = false;
	}
}
public VmenuKomut(id) {
	if((get_user_flags(id) & ADMIN_JBVIP) && (g_dead[id]>=3)){
		VipMenu(id);
	}
	else if(g_dead[id]>=3){
		client_printc(id, "%s Zaten !gVIP Menu!nyu daha once kullandiniz. Lutfen 3 tur bekleyin...", PREFIX);
	}
	else{
		client_printc(id, "%s !gVIP Menu!nyu kullanabilmeniz icin !gVIP!n Olmaniz Gerekmektedir.", PREFIX);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}
public VipMenu(id) {
	
	new menu = menu_create("\y:VIP Menu:", "VipMenu_devam");
	
	menu_additem(menu, "\w225 HP ve 255 Armor", "1", 0);
	menu_additem(menu, "\wOzel Silahlar","2", 0);
	menu_additem(menu, "\wYercekimi - \r(450)", "3", 0);
	menu_additem(menu, "\wHiz", "4", 0);
	menu_additem(menu, "\w3D Gosterme \r(Sadece 1 Tur)", "5", 0);
	menu_additem(menu, "\wGorunmezlik", "6", 0);
	menu_additem(menu, "\wYari Yariya Tekrar Dogma Sansi", "7", 0);
	menu_additem(menu, "\wMermi Sekmeme(Sadece 1 Tur)","8", 0);
	menu_additem(menu, "\wSinirsiz Mermi(Sadece 1 Tur)","9", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}
public VipMenu_devam(id, menu, item) {
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key){
		case 1:{
			set_user_health(id, 225);
			set_user_armor(id, 225);
			
			client_printc(id, "%s !tMenuden:!n !g255 HP!n ve !g255 Armor!n aldiniz", PREFIX);
		}
		case 2:{
			ozel(id);
			
			client_printc(id, "%s !tMenuden:!n !gOzel Silahlari!n sectiniz", PREFIX);
		}
		case 3:{
			set_user_gravity(id, 0.450);
			
			client_printc(id, "%s !tMenuden:!n !gYercekimi!n aldiniz", PREFIX);
		}
		case 4:{
			hizver[id] = true;
			
			set_user_maxspeed(id, cok_hizli);
			
			client_printc(id, "%s !tMenuden:!n !gHiz!n aldiniz", PREFIX);
		}
		case 5:{
			set_view(id,CAMERA_3RDPERSON);
			
			client_printc(id, "%s !tMenuden:!n !g3D Gosterme!n aldiniz", PREFIX);
		}
		case 6:{
			set_user_rendering(id, kRenderFxNone, 50, 50, 50, kRenderTransAdd, 50);
			set_user_footsteps(id, 1);
			
			client_printc(id, "%s !tMenuden:!n !gGorunmezlik!n aldiniz", PREFIX);
		}
		case 7:{
			yenidendog(id);
			
			client_printc(id, "%s !tMenuden:!n !gYari !tYariya!n !gTekrar Dogma!n sansini sectiniz.Sansliysan Tekrar Dogarsin :).", PREFIX);
		}
		case 8:{
			mermisekmeme[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gMermi Sekmeme!n sectiniz.!tMermileriniz artik sekmeyecek!!!n.", PREFIX);
		}
		case 9:{
			sinirsizmermi[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gSinirsiz Mermi!n sectiniz.!tMermileriniz artik sinirsiz!!!n.", PREFIX);
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public ozel(id){
	if(ozelsilahlar[id]){
		client_printc(id,"Menuyu her turda ^3bir defa^1 kullanabilirsiniz!");
	}
	else{
		ozelslh = menu_create("Ozel Silahinizi Secin:","OzelSilahlar_Olustur"); 
		menu_additem(ozelslh, "Golden Ak47", "1");
		menu_additem(ozelslh, "Mg13", "2");
		menu_additem(ozelslh, "Minigun", "3");
		menu_additem(ozelslh, "Crossbow", "4");
		menu_setprop(ozelslh, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, ozelslh, 0);  
	}
}
public OzelSilahlar_Olustur(id,menu,item){
	if(item == MENU_EXIT) {  
		menu_destroy(menu);  
		return PLUGIN_HANDLED;  
	} 
	new data[6], szName[64]; 
	new access, callback;
	menu_item_getinfo(ozelslh, item, access, data,charsmax(data), szName,charsmax(szName), callback); 
	new key = str_to_num(data);
	switch(key) {
		case 1:  {
			ak47_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
			client_printc(id,"^3Golden Ak47^1 Alindi.");
		}
		case 2:  {
			mg3_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m3");
			cs_set_user_bpammo(id, CSW_M3, 90);
			client_printc(id,"^3Mg3^1 Alindi.");
		}
		case 3:  {
			minigun_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m249");
			cs_set_user_bpammo(id, CSW_M249, 90);
			client_printc(id,"^3Minigun^1 Alindi.");
		}
		case 4:  {
			cross_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_awp");
			cs_set_user_bpammo(id, CSW_AWP, 90);
			client_printc(id,"^3Crossbow^1 Alindi.");
		}
	}
	menu_destroy(ozelslh);
	return PLUGIN_HANDLED; 
}
public HookCurWeapon(id) {
	new silahID = read_data(2);
	
	if(ak47_used[id] && silahID == CSW_AK47)  {  
		set_pev(id, pev_viewmodel2, VIEW_AKGOLD);  
		set_pev(id, pev_weaponmodel2, PLAYER_AKGOLD);  
	}  
	if(mg3_used[id] && silahID == CSW_M3) {  
		set_pev(id, pev_viewmodel2, VIEW_MG3);  
		set_pev(id, pev_weaponmodel2, PLAYER_MG3);  
	}  
	if(cross_used[id] && silahID == CSW_AWP) {  
		set_pev(id, pev_viewmodel2, VIEW_CROSSBOW);  
		set_pev(id, pev_weaponmodel2, PLAYER_CROSSBOW);  
	}  
	if(minigun_used[id] && silahID == CSW_M249) {  
		set_pev(id, pev_viewmodel2, VIEW_MINIGUN);  
		set_pev(id, pev_weaponmodel2, PLAYER_MINIGUN);  
	}  
	if(hizver[id]){
		set_user_maxspeed(id, cok_hizli);
	}
	return PLUGIN_CONTINUE;
}
public silahhasar(pevVictim, pevInflictor, pevAttacker, Float:flDamage, iDmgBits) {  
	if(!(1 <= pevAttacker <= get_maxplayers())) {   
		return HAM_HANDLED;   
	}
	if(!is_user_alive(pevAttacker)) {   
		return HAM_HANDLED;   
	}
	if(ak47_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * AK_HASAR); 
	}  
	if(mg3_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MG3_HASAR);
	}  
	if(cross_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * CROS_HASAR);
	}  
	if(minigun_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MIN_HASAR);
	}  
	
	return HAM_IGNORED;   
}  
public yenidendog(id) {
	if(random (2)){
		ExecuteHamB(Ham_CS_RoundRespawn, id);
		client_printc(id, "%s Tekrar !gDogdunuz!n...", PREFIX);
	}
}
public fw_Weapon_PrimaryAttack_Pre(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		pev(id, pev_punchangle, cl_pushangle[id]);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public fw_Weapon_PrimaryAttack_Post(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		new Float: push[3];
		pev(id, pev_punchangle, push);
		xs_vec_sub(push, cl_pushangle[id], push);
		xs_vec_mul_scalar(push, 0.0, push);
		xs_vec_add(push, cl_pushangle[id], push);
		set_pev(id, pev_punchangle, push);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public silahta_sinirsiz_mermi_olayi(msg_id, msg_dest, msg_entity) {
	if (!sinirsizmermi[msg_entity])
		return;
	
	if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
		return;
	
	static weapon, clip;
	weapon = get_msg_arg_int(2);
	clip = get_msg_arg_int(3);
	
	if (MAXCLIP[weapon] > 2){
		set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon]);
		
		if (clip < 2){
			static wname[32], weapon_ent;
			get_weaponname(weapon, wname, sizeof wname - 1);
			weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity);
			
			fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon]);
		}
	}
}
stock fm_find_ent_by_owner(entity, const classname[], owner) {
	while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}
	
	return entity;
}
stock fm_set_weapon_ammo(entity, amount){
	set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);
}
stock client_printc(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "!n", "^x01"); 
	replace_all(msg, 190, "!g", "^x04"); 
	replace_all(msg, 190, "!t", "^x03"); 
	
	if (id) players[0] = id; else get_players(players, count, "ch");{
		for (new i = 0; i < count; i++){
			if (is_user_connected(players[i])){
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
}
yetki konusunda sıkıntı var sanırım full yetkili olduğum halde v.ı.p admin olmanız gerekmektedir diyor

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

hayku
Mesajlar: 297
Kayıt: Çrş Tem 17, 2019 6:45 pm
Konum: Ordu
Clan İsmi: Alpha Game Clan

Eklentideki Sorunu Düzeltirmisiniz

Mesaj gönderen hayku »

buyur;

Kod: Tümünü seç

#pragma semicolon 1
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <xs>

#define AK_HASAR 1.5  
#define MG3_HASAR 2  
#define MIN_HASAR 1.8  
#define CROS_HASAR 1.3  

const WEAPONS_BITSUM = (1<<CSW_KNIFE|1<<CSW_HEGRENADE|1<<CSW_FLASHBANG|1<<CSW_SMOKEGRENADE|1<<CSW_C4);

#define ADMIN_JBVIP ADMIN_CVAR // VIP'nin Admin yetkisi ben örnek olarak "kick" yetkisi verdim siz istediğiniz gibi değiştirebilirsiniz...

#if cellbits == 32 
const OFFSET_CLIPAMMO = 51 ;
#else 
const OFFSET_CLIPAMMO = 65 ;
#endif 
const OFFSET_LINUX_WEAPONS = 4;

new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 } ;

new const VERSIYON[] = { 
	"1.0" 
};

new const PREFIX[] = { 
	"!g[VIPMENU]:!n" 
};

new Float:cok_hizli = 800.0;
new Float:normal_hizli = 250.0;
new Float: cl_pushangle[33][3];
new	sinirsizmermi[33],
ozelsilahlar[33],
ak47_used[33],
hizver[33],
mg3_used[33],
cross_used[33],
g_dead[33],
ozelslh,
minigun_used[33],
mermisekmeme[33];

new VIEW_AKGOLD[]        = "models/jailbreak/v_dl_goldenak.mdl";   
new PLAYER_AKGOLD[]     = "models/jailbreak/p_dl_goldenak.mdl";  
new VIEW_MG3[]        = "models/jailbreak/v_mg3.mdl";   
new PLAYER_MG3[]     = "models/jailbreak/p_mg3.mdl";  
new VIEW_CROSSBOW[]        = "models/jailbreak/v_crossbow_cso.mdl";   
new PLAYER_CROSSBOW[]     = "models/jailbreak/p_crossbow_cso.mdl";  
new VIEW_MINIGUN[]        = "models/jailbreak/v_m134_hum.mdl";   
new PLAYER_MINIGUN[]     = "models/jailbreak/p_m134.mdl"; 

public plugin_precache() {
	precache_model("models/rpgrocket.mdl");
	precache_model(VIEW_AKGOLD);
	precache_model(PLAYER_AKGOLD);  
	precache_model(VIEW_MG3);  
	precache_model(PLAYER_MG3);  
	precache_model(VIEW_CROSSBOW);  
	precache_model(PLAYER_CROSSBOW);  
	precache_model(VIEW_MINIGUN);  
	precache_model(PLAYER_MINIGUN);  
}
public plugin_init(){
	register_plugin("[JB]: Gelismis VIP Menu", VERSIYON, "Optimist");
	
	RegisterHam(Ham_Spawn, "player", "YeniTur", true);
	register_event("CurWeapon", "HookCurWeapon", "be", "1=1");
	
	RegisterHam(Ham_TakeDamage, "player", "silahhasar", 0);
	
	register_clcmd("say vipmenu", "VmenuKomut");
	register_clcmd("say vmenu", "VmenuKomut");
	register_clcmd("say /vmenu", "VmenuKomut");
	register_clcmd("say /vipmenu", "VmenuKomut");
	register_clcmd("say_team vipmenu", "VmenuKomut");
	register_clcmd("say_team /vipmenu", "VmenuKomut");
	
	register_message(get_user_msgid("CurWeapon"), "silahta_sinirsiz_mermi_olayi");
	
	new silahisim[24];
	for (new id = 1; id <= 30; id++){
		if (!(WEAPONS_BITSUM & 1 << id) && get_weaponname(id, silahisim, 23)){
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Pre");
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Post", 1);
		}
	}
}
public YeniTur(id) {
	g_dead[id]++;
	if(g_dead[id]>=3){
		g_dead[id]=0;
		for(new i = 1; i <= get_maxplayers(); i++){
			set_view(i,CAMERA_NONE);
			hizver[i] = false;
			set_user_maxspeed(i, normal_hizli);
			set_user_rendering( i, _, 0, 0, 0, _, 0 );
			strip_user_weapons(i);
			give_item(i, "weapon_knife");
			set_user_footsteps(i, 0);
			mermisekmeme[i] = false;
			sinirsizmermi[i] = false;
			ak47_used[i] = false;
			mg3_used[i] = false;
			cross_used[i] = false;
			minigun_used[i] = false;
		}
	}
}
public VmenuKomut(id) {
	if(g_dead[id]<3){client_printc(id, "%s Zaten !gVIP Menu!nyu daha once kullandiniz. Lutfen 3 tur bekleyin...", PREFIX); return PLUGIN_HANDLED;}
	if((get_user_flags(id) & ADMIN_JBVIP)){
		VipMenu(id);
	}
	else{
		client_printc(id, "%s !gVIP Menu!nyu kullanabilmeniz icin !gVIP!n Olmaniz Gerekmektedir.", PREFIX);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}
public VipMenu(id) {
	
	new menu = menu_create("\y:VIP Menu:", "VipMenu_devam");
	
	menu_additem(menu, "\w225 HP ve 255 Armor", "1", 0);
	menu_additem(menu, "\wOzel Silahlar","2", 0);
	menu_additem(menu, "\wYercekimi - \r(450)", "3", 0);
	menu_additem(menu, "\wHiz", "4", 0);
	menu_additem(menu, "\w3D Gosterme \r(Sadece 1 Tur)", "5", 0);
	menu_additem(menu, "\wGorunmezlik", "6", 0);
	menu_additem(menu, "\wYari Yariya Tekrar Dogma Sansi", "7", 0);
	menu_additem(menu, "\wMermi Sekmeme(Sadece 1 Tur)","8", 0);
	menu_additem(menu, "\wSinirsiz Mermi(Sadece 1 Tur)","9", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}
public VipMenu_devam(id, menu, item) {
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key){
		case 1:{
			set_user_health(id, 225);
			set_user_armor(id, 225);
			
			client_printc(id, "%s !tMenuden:!n !g255 HP!n ve !g255 Armor!n aldiniz", PREFIX);
		}
		case 2:{
			ozel(id);
			
			client_printc(id, "%s !tMenuden:!n !gOzel Silahlari!n sectiniz", PREFIX);
		}
		case 3:{
			set_user_gravity(id, 0.450);
			
			client_printc(id, "%s !tMenuden:!n !gYercekimi!n aldiniz", PREFIX);
		}
		case 4:{
			hizver[id] = true;
			
			set_user_maxspeed(id, cok_hizli);
			
			client_printc(id, "%s !tMenuden:!n !gHiz!n aldiniz", PREFIX);
		}
		case 5:{
			set_view(id,CAMERA_3RDPERSON);
			
			client_printc(id, "%s !tMenuden:!n !g3D Gosterme!n aldiniz", PREFIX);
		}
		case 6:{
			set_user_rendering(id, kRenderFxNone, 50, 50, 50, kRenderTransAdd, 50);
			set_user_footsteps(id, 1);
			
			client_printc(id, "%s !tMenuden:!n !gGorunmezlik!n aldiniz", PREFIX);
		}
		case 7:{
			yenidendog(id);
			
			client_printc(id, "%s !tMenuden:!n !gYari !tYariya!n !gTekrar Dogma!n sansini sectiniz.Sansliysan Tekrar Dogarsin :).", PREFIX);
		}
		case 8:{
			mermisekmeme[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gMermi Sekmeme!n sectiniz.!tMermileriniz artik sekmeyecek!!!n.", PREFIX);
		}
		case 9:{
			sinirsizmermi[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gSinirsiz Mermi!n sectiniz.!tMermileriniz artik sinirsiz!!!n.", PREFIX);
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public ozel(id){
	if(ozelsilahlar[id]){
		client_printc(id,"Menuyu her turda ^3bir defa^1 kullanabilirsiniz!");
	}
	else{
		ozelslh = menu_create("Ozel Silahinizi Secin:","OzelSilahlar_Olustur"); 
		menu_additem(ozelslh, "Golden Ak47", "1");
		menu_additem(ozelslh, "Mg13", "2");
		menu_additem(ozelslh, "Minigun", "3");
		menu_additem(ozelslh, "Crossbow", "4");
		menu_setprop(ozelslh, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, ozelslh, 0);  
	}
}
public OzelSilahlar_Olustur(id,menu,item){
	if(item == MENU_EXIT) {  
		menu_destroy(menu);  
		return PLUGIN_HANDLED;  
	} 
	new data[6], szName[64]; 
	new access, callback;
	menu_item_getinfo(ozelslh, item, access, data,charsmax(data), szName,charsmax(szName), callback); 
	new key = str_to_num(data);
	switch(key) {
		case 1:  {
			ak47_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
			client_printc(id,"^3Golden Ak47^1 Alindi.");
		}
		case 2:  {
			mg3_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m3");
			cs_set_user_bpammo(id, CSW_M3, 90);
			client_printc(id,"^3Mg3^1 Alindi.");
		}
		case 3:  {
			minigun_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m249");
			cs_set_user_bpammo(id, CSW_M249, 90);
			client_printc(id,"^3Minigun^1 Alindi.");
		}
		case 4:  {
			cross_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_awp");
			cs_set_user_bpammo(id, CSW_AWP, 90);
			client_printc(id,"^3Crossbow^1 Alindi.");
		}
	}
	menu_destroy(ozelslh);
	return PLUGIN_HANDLED; 
}
public HookCurWeapon(id) {
	new silahID = read_data(2);
	
	if(ak47_used[id] && silahID == CSW_AK47)  {  
		set_pev(id, pev_viewmodel2, VIEW_AKGOLD);  
		set_pev(id, pev_weaponmodel2, PLAYER_AKGOLD);  
	}  
	if(mg3_used[id] && silahID == CSW_M3) {  
		set_pev(id, pev_viewmodel2, VIEW_MG3);  
		set_pev(id, pev_weaponmodel2, PLAYER_MG3);  
	}  
	if(cross_used[id] && silahID == CSW_AWP) {  
		set_pev(id, pev_viewmodel2, VIEW_CROSSBOW);  
		set_pev(id, pev_weaponmodel2, PLAYER_CROSSBOW);  
	}  
	if(minigun_used[id] && silahID == CSW_M249) {  
		set_pev(id, pev_viewmodel2, VIEW_MINIGUN);  
		set_pev(id, pev_weaponmodel2, PLAYER_MINIGUN);  
	}  
	if(hizver[id]){
		set_user_maxspeed(id, cok_hizli);
	}
	return PLUGIN_CONTINUE;
}
public silahhasar(pevVictim, pevInflictor, pevAttacker, Float:flDamage, iDmgBits) {  
	if(!(1 <= pevAttacker <= get_maxplayers())) {   
		return HAM_HANDLED;   
	}
	if(!is_user_alive(pevAttacker)) {   
		return HAM_HANDLED;   
	}
	if(ak47_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * AK_HASAR); 
	}  
	if(mg3_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MG3_HASAR);
	}  
	if(cross_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * CROS_HASAR);
	}  
	if(minigun_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MIN_HASAR);
	}  
	
	return HAM_IGNORED;   
}  
public yenidendog(id) {
	if(random (2)){
		ExecuteHamB(Ham_CS_RoundRespawn, id);
		client_printc(id, "%s Tekrar !gDogdunuz!n...", PREFIX);
	}
}
public fw_Weapon_PrimaryAttack_Pre(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		pev(id, pev_punchangle, cl_pushangle[id]);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public fw_Weapon_PrimaryAttack_Post(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		new Float: push[3];
		pev(id, pev_punchangle, push);
		xs_vec_sub(push, cl_pushangle[id], push);
		xs_vec_mul_scalar(push, 0.0, push);
		xs_vec_add(push, cl_pushangle[id], push);
		set_pev(id, pev_punchangle, push);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public silahta_sinirsiz_mermi_olayi(msg_id, msg_dest, msg_entity) {
	if (!sinirsizmermi[msg_entity])
		return;
	
	if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
		return;
	
	static weapon, clip;
	weapon = get_msg_arg_int(2);
	clip = get_msg_arg_int(3);
	
	if (MAXCLIP[weapon] > 2){
		set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon]);
		
		if (clip < 2){
			static wname[32], weapon_ent;
			get_weaponname(weapon, wname, sizeof wname - 1);
			weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity);
			
			fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon]);
		}
	}
}
stock fm_find_ent_by_owner(entity, const classname[], owner) {
	while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}
	
	return entity;
}
stock fm_set_weapon_ammo(entity, amount){
	set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);
}
stock client_printc(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "!n", "^x01"); 
	replace_all(msg, 190, "!g", "^x04"); 
	replace_all(msg, 190, "!t", "^x03"); 
	
	if (id) players[0] = id; else get_players(players, count, "ch");{
		for (new i = 0; i < count; i++){
			if (is_user_connected(players[i])){
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
}

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
İlyas ERTEKİN
Mesajlar: 894
Kayıt: Pzt Haz 05, 2017 11:34 am

Eklentideki Sorunu Düzeltirmisiniz

Mesaj gönderen İlyas ERTEKİN »

hayku yazdı: Cmt Ara 14, 2019 11:37 pm buyur;

Kod: Tümünü seç

#pragma semicolon 1
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <xs>

#define AK_HASAR 1.5  
#define MG3_HASAR 2  
#define MIN_HASAR 1.8  
#define CROS_HASAR 1.3  

const WEAPONS_BITSUM = (1<<CSW_KNIFE|1<<CSW_HEGRENADE|1<<CSW_FLASHBANG|1<<CSW_SMOKEGRENADE|1<<CSW_C4);

#define ADMIN_JBVIP ADMIN_CVAR // VIP'nin Admin yetkisi ben örnek olarak "kick" yetkisi verdim siz istediğiniz gibi değiştirebilirsiniz...

#if cellbits == 32 
const OFFSET_CLIPAMMO = 51 ;
#else 
const OFFSET_CLIPAMMO = 65 ;
#endif 
const OFFSET_LINUX_WEAPONS = 4;

new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 } ;

new const VERSIYON[] = { 
	"1.0" 
};

new const PREFIX[] = { 
	"!g[VIPMENU]:!n" 
};

new Float:cok_hizli = 800.0;
new Float:normal_hizli = 250.0;
new Float: cl_pushangle[33][3];
new	sinirsizmermi[33],
ozelsilahlar[33],
ak47_used[33],
hizver[33],
mg3_used[33],
cross_used[33],
g_dead[33],
ozelslh,
minigun_used[33],
mermisekmeme[33];

new VIEW_AKGOLD[]        = "models/jailbreak/v_dl_goldenak.mdl";   
new PLAYER_AKGOLD[]     = "models/jailbreak/p_dl_goldenak.mdl";  
new VIEW_MG3[]        = "models/jailbreak/v_mg3.mdl";   
new PLAYER_MG3[]     = "models/jailbreak/p_mg3.mdl";  
new VIEW_CROSSBOW[]        = "models/jailbreak/v_crossbow_cso.mdl";   
new PLAYER_CROSSBOW[]     = "models/jailbreak/p_crossbow_cso.mdl";  
new VIEW_MINIGUN[]        = "models/jailbreak/v_m134_hum.mdl";   
new PLAYER_MINIGUN[]     = "models/jailbreak/p_m134.mdl"; 

public plugin_precache() {
	precache_model("models/rpgrocket.mdl");
	precache_model(VIEW_AKGOLD);
	precache_model(PLAYER_AKGOLD);  
	precache_model(VIEW_MG3);  
	precache_model(PLAYER_MG3);  
	precache_model(VIEW_CROSSBOW);  
	precache_model(PLAYER_CROSSBOW);  
	precache_model(VIEW_MINIGUN);  
	precache_model(PLAYER_MINIGUN);  
}
public plugin_init(){
	register_plugin("[JB]: Gelismis VIP Menu", VERSIYON, "Optimist");
	
	RegisterHam(Ham_Spawn, "player", "YeniTur", true);
	register_event("CurWeapon", "HookCurWeapon", "be", "1=1");
	
	RegisterHam(Ham_TakeDamage, "player", "silahhasar", 0);
	
	register_clcmd("say vipmenu", "VmenuKomut");
	register_clcmd("say vmenu", "VmenuKomut");
	register_clcmd("say /vmenu", "VmenuKomut");
	register_clcmd("say /vipmenu", "VmenuKomut");
	register_clcmd("say_team vipmenu", "VmenuKomut");
	register_clcmd("say_team /vipmenu", "VmenuKomut");
	
	register_message(get_user_msgid("CurWeapon"), "silahta_sinirsiz_mermi_olayi");
	
	new silahisim[24];
	for (new id = 1; id <= 30; id++){
		if (!(WEAPONS_BITSUM & 1 << id) && get_weaponname(id, silahisim, 23)){
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Pre");
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Post", 1);
		}
	}
}
public YeniTur(id) {
	g_dead[id]++;
	if(g_dead[id]>=3){
		g_dead[id]=0;
		for(new i = 1; i <= get_maxplayers(); i++){
			set_view(i,CAMERA_NONE);
			hizver[i] = false;
			set_user_maxspeed(i, normal_hizli);
			set_user_rendering( i, _, 0, 0, 0, _, 0 );
			strip_user_weapons(i);
			give_item(i, "weapon_knife");
			set_user_footsteps(i, 0);
			mermisekmeme[i] = false;
			sinirsizmermi[i] = false;
			ak47_used[i] = false;
			mg3_used[i] = false;
			cross_used[i] = false;
			minigun_used[i] = false;
		}
	}
}
public VmenuKomut(id) {
	if(g_dead[id]<3){client_printc(id, "%s Zaten !gVIP Menu!nyu daha once kullandiniz. Lutfen 3 tur bekleyin...", PREFIX); return PLUGIN_HANDLED;}
	if((get_user_flags(id) & ADMIN_JBVIP)){
		VipMenu(id);
	}
	else{
		client_printc(id, "%s !gVIP Menu!nyu kullanabilmeniz icin !gVIP!n Olmaniz Gerekmektedir.", PREFIX);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}
public VipMenu(id) {
	
	new menu = menu_create("\y:VIP Menu:", "VipMenu_devam");
	
	menu_additem(menu, "\w225 HP ve 255 Armor", "1", 0);
	menu_additem(menu, "\wOzel Silahlar","2", 0);
	menu_additem(menu, "\wYercekimi - \r(450)", "3", 0);
	menu_additem(menu, "\wHiz", "4", 0);
	menu_additem(menu, "\w3D Gosterme \r(Sadece 1 Tur)", "5", 0);
	menu_additem(menu, "\wGorunmezlik", "6", 0);
	menu_additem(menu, "\wYari Yariya Tekrar Dogma Sansi", "7", 0);
	menu_additem(menu, "\wMermi Sekmeme(Sadece 1 Tur)","8", 0);
	menu_additem(menu, "\wSinirsiz Mermi(Sadece 1 Tur)","9", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}
public VipMenu_devam(id, menu, item) {
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key){
		case 1:{
			set_user_health(id, 225);
			set_user_armor(id, 225);
			
			client_printc(id, "%s !tMenuden:!n !g255 HP!n ve !g255 Armor!n aldiniz", PREFIX);
		}
		case 2:{
			ozel(id);
			
			client_printc(id, "%s !tMenuden:!n !gOzel Silahlari!n sectiniz", PREFIX);
		}
		case 3:{
			set_user_gravity(id, 0.450);
			
			client_printc(id, "%s !tMenuden:!n !gYercekimi!n aldiniz", PREFIX);
		}
		case 4:{
			hizver[id] = true;
			
			set_user_maxspeed(id, cok_hizli);
			
			client_printc(id, "%s !tMenuden:!n !gHiz!n aldiniz", PREFIX);
		}
		case 5:{
			set_view(id,CAMERA_3RDPERSON);
			
			client_printc(id, "%s !tMenuden:!n !g3D Gosterme!n aldiniz", PREFIX);
		}
		case 6:{
			set_user_rendering(id, kRenderFxNone, 50, 50, 50, kRenderTransAdd, 50);
			set_user_footsteps(id, 1);
			
			client_printc(id, "%s !tMenuden:!n !gGorunmezlik!n aldiniz", PREFIX);
		}
		case 7:{
			yenidendog(id);
			
			client_printc(id, "%s !tMenuden:!n !gYari !tYariya!n !gTekrar Dogma!n sansini sectiniz.Sansliysan Tekrar Dogarsin :).", PREFIX);
		}
		case 8:{
			mermisekmeme[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gMermi Sekmeme!n sectiniz.!tMermileriniz artik sekmeyecek!!!n.", PREFIX);
		}
		case 9:{
			sinirsizmermi[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gSinirsiz Mermi!n sectiniz.!tMermileriniz artik sinirsiz!!!n.", PREFIX);
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public ozel(id){
	if(ozelsilahlar[id]){
		client_printc(id,"Menuyu her turda ^3bir defa^1 kullanabilirsiniz!");
	}
	else{
		ozelslh = menu_create("Ozel Silahinizi Secin:","OzelSilahlar_Olustur"); 
		menu_additem(ozelslh, "Golden Ak47", "1");
		menu_additem(ozelslh, "Mg13", "2");
		menu_additem(ozelslh, "Minigun", "3");
		menu_additem(ozelslh, "Crossbow", "4");
		menu_setprop(ozelslh, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, ozelslh, 0);  
	}
}
public OzelSilahlar_Olustur(id,menu,item){
	if(item == MENU_EXIT) {  
		menu_destroy(menu);  
		return PLUGIN_HANDLED;  
	} 
	new data[6], szName[64]; 
	new access, callback;
	menu_item_getinfo(ozelslh, item, access, data,charsmax(data), szName,charsmax(szName), callback); 
	new key = str_to_num(data);
	switch(key) {
		case 1:  {
			ak47_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
			client_printc(id,"^3Golden Ak47^1 Alindi.");
		}
		case 2:  {
			mg3_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m3");
			cs_set_user_bpammo(id, CSW_M3, 90);
			client_printc(id,"^3Mg3^1 Alindi.");
		}
		case 3:  {
			minigun_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m249");
			cs_set_user_bpammo(id, CSW_M249, 90);
			client_printc(id,"^3Minigun^1 Alindi.");
		}
		case 4:  {
			cross_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_awp");
			cs_set_user_bpammo(id, CSW_AWP, 90);
			client_printc(id,"^3Crossbow^1 Alindi.");
		}
	}
	menu_destroy(ozelslh);
	return PLUGIN_HANDLED; 
}
public HookCurWeapon(id) {
	new silahID = read_data(2);
	
	if(ak47_used[id] && silahID == CSW_AK47)  {  
		set_pev(id, pev_viewmodel2, VIEW_AKGOLD);  
		set_pev(id, pev_weaponmodel2, PLAYER_AKGOLD);  
	}  
	if(mg3_used[id] && silahID == CSW_M3) {  
		set_pev(id, pev_viewmodel2, VIEW_MG3);  
		set_pev(id, pev_weaponmodel2, PLAYER_MG3);  
	}  
	if(cross_used[id] && silahID == CSW_AWP) {  
		set_pev(id, pev_viewmodel2, VIEW_CROSSBOW);  
		set_pev(id, pev_weaponmodel2, PLAYER_CROSSBOW);  
	}  
	if(minigun_used[id] && silahID == CSW_M249) {  
		set_pev(id, pev_viewmodel2, VIEW_MINIGUN);  
		set_pev(id, pev_weaponmodel2, PLAYER_MINIGUN);  
	}  
	if(hizver[id]){
		set_user_maxspeed(id, cok_hizli);
	}
	return PLUGIN_CONTINUE;
}
public silahhasar(pevVictim, pevInflictor, pevAttacker, Float:flDamage, iDmgBits) {  
	if(!(1 <= pevAttacker <= get_maxplayers())) {   
		return HAM_HANDLED;   
	}
	if(!is_user_alive(pevAttacker)) {   
		return HAM_HANDLED;   
	}
	if(ak47_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * AK_HASAR); 
	}  
	if(mg3_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MG3_HASAR);
	}  
	if(cross_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * CROS_HASAR);
	}  
	if(minigun_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MIN_HASAR);
	}  
	
	return HAM_IGNORED;   
}  
public yenidendog(id) {
	if(random (2)){
		ExecuteHamB(Ham_CS_RoundRespawn, id);
		client_printc(id, "%s Tekrar !gDogdunuz!n...", PREFIX);
	}
}
public fw_Weapon_PrimaryAttack_Pre(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		pev(id, pev_punchangle, cl_pushangle[id]);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public fw_Weapon_PrimaryAttack_Post(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		new Float: push[3];
		pev(id, pev_punchangle, push);
		xs_vec_sub(push, cl_pushangle[id], push);
		xs_vec_mul_scalar(push, 0.0, push);
		xs_vec_add(push, cl_pushangle[id], push);
		set_pev(id, pev_punchangle, push);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public silahta_sinirsiz_mermi_olayi(msg_id, msg_dest, msg_entity) {
	if (!sinirsizmermi[msg_entity])
		return;
	
	if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
		return;
	
	static weapon, clip;
	weapon = get_msg_arg_int(2);
	clip = get_msg_arg_int(3);
	
	if (MAXCLIP[weapon] > 2){
		set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon]);
		
		if (clip < 2){
			static wname[32], weapon_ent;
			get_weaponname(weapon, wname, sizeof wname - 1);
			weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity);
			
			fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon]);
		}
	}
}
stock fm_find_ent_by_owner(entity, const classname[], owner) {
	while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}
	
	return entity;
}
stock fm_set_weapon_ammo(entity, amount){
	set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);
}
stock client_printc(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "!n", "^x01"); 
	replace_all(msg, 190, "!g", "^x04"); 
	replace_all(msg, 190, "!t", "^x03"); 
	
	if (id) players[0] = id; else get_players(players, count, "ch");{
		for (new i = 0; i < count; i++){
			if (is_user_connected(players[i])){
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
}
hocam siz bunu ölüp doğmaya tanımladığınıza emin misiniz 3 kere öldüm yeniden doğdum fakat hala 3 tur beklemeniz gerek diyor. Ha birde bu bıçak problemi tekrar oldu el başında habire bıçak veriyor.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

hayku
Mesajlar: 297
Kayıt: Çrş Tem 17, 2019 6:45 pm
Konum: Ordu
Clan İsmi: Alpha Game Clan

Eklentideki Sorunu Düzeltirmisiniz

Mesaj gönderen hayku »

konuyu fazla uzattım kusura bakmayın.

Kod: Tümünü seç

#pragma semicolon 1
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <xs>

#define AK_HASAR 1.5  
#define MG3_HASAR 2  
#define MIN_HASAR 1.8  
#define CROS_HASAR 1.3  

const WEAPONS_BITSUM = (1<<CSW_KNIFE|1<<CSW_HEGRENADE|1<<CSW_FLASHBANG|1<<CSW_SMOKEGRENADE|1<<CSW_C4);

#define ADMIN_JBVIP ADMIN_CVAR // VIP'nin Admin yetkisi ben örnek olarak "kick" yetkisi verdim siz istediğiniz gibi değiştirebilirsiniz...

#if cellbits == 32 
const OFFSET_CLIPAMMO = 51 ;
#else 
const OFFSET_CLIPAMMO = 65 ;
#endif 
const OFFSET_LINUX_WEAPONS = 4;

new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 } ;

new const VERSIYON[] = { 
	"1.0" 
};

new const PREFIX[] = { 
	"!g[VIPMENU]:!n" 
};

new Float:cok_hizli = 800.0;
new Float:normal_hizli = 250.0;
new Float: cl_pushangle[33][3];
new	sinirsizmermi[33],
ozelsilahlar[33],
ak47_used[33],
hizver[33],
mg3_used[33],
cross_used[33],
g_dead[33],
ozelslh,
minigun_used[33],
mermisekmeme[33];

new VIEW_AKGOLD[]        = "models/jailbreak/v_dl_goldenak.mdl";   
new PLAYER_AKGOLD[]     = "models/jailbreak/p_dl_goldenak.mdl";  
new VIEW_MG3[]        = "models/jailbreak/v_mg3.mdl";   
new PLAYER_MG3[]     = "models/jailbreak/p_mg3.mdl";  
new VIEW_CROSSBOW[]        = "models/jailbreak/v_crossbow_cso.mdl";   
new PLAYER_CROSSBOW[]     = "models/jailbreak/p_crossbow_cso.mdl";  
new VIEW_MINIGUN[]        = "models/jailbreak/v_m134_hum.mdl";   
new PLAYER_MINIGUN[]     = "models/jailbreak/p_m134.mdl"; 

public plugin_precache() {
	precache_model("models/rpgrocket.mdl");
	precache_model(VIEW_AKGOLD);
	precache_model(PLAYER_AKGOLD);  
	precache_model(VIEW_MG3);  
	precache_model(PLAYER_MG3);  
	precache_model(VIEW_CROSSBOW);  
	precache_model(PLAYER_CROSSBOW);  
	precache_model(VIEW_MINIGUN);  
	precache_model(PLAYER_MINIGUN);  
}
public plugin_init(){
	register_plugin("[JB]: Gelismis VIP Menu", VERSIYON, "Optimist");
	
	RegisterHam(Ham_Spawn, "player", "YeniTur", true);
	register_event("CurWeapon", "HookCurWeapon", "be", "1=1");
	
	RegisterHam(Ham_TakeDamage, "player", "silahhasar", 0);
	
	register_clcmd("say vipmenu", "VmenuKomut");
	register_clcmd("say vmenu", "VmenuKomut");
	register_clcmd("say /vmenu", "VmenuKomut");
	register_clcmd("say /vipmenu", "VmenuKomut");
	register_clcmd("say_team vipmenu", "VmenuKomut");
	register_clcmd("say_team /vipmenu", "VmenuKomut");
	
	register_message(get_user_msgid("CurWeapon"), "silahta_sinirsiz_mermi_olayi");
	
	new silahisim[24];
	for (new id = 1; id <= 30; id++){
		if (!(WEAPONS_BITSUM & 1 << id) && get_weaponname(id, silahisim, 23)){
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Pre");
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Post", 1);
		}
	}
}
public YeniTur(id) {
	g_dead[id]++;
	if(g_dead[id]>=3){
		g_dead[id]=0;
		set_view(id,CAMERA_NONE);
		hizver[id] = false;
		set_user_maxspeed(id, normal_hizli);
		set_user_rendering( id, _, 0, 0, 0, _, 0 );
		strip_user_weapons(id);
		give_item(id, "weapon_knife");
		set_user_footsteps(id, 0);
		mermisekmeme[id] = false;
		sinirsizmermi[id] = false;
		ak47_used[id] = false;
		mg3_used[id] = false;
		cross_used[id] = false;
		minigun_used[id] = false;
	}
}
public VmenuKomut(id) {
	if(g_dead[id]<3){client_printc(id, "%s Zaten !gVIP Menu!nyu daha once kullandiniz. Lutfen 3 tur bekleyin...", PREFIX); return PLUGIN_HANDLED;}
	if((get_user_flags(id) & ADMIN_JBVIP)){
		VipMenu(id);
	}
	else{
		client_printc(id, "%s !gVIP Menu!nyu kullanabilmeniz icin !gVIP!n Olmaniz Gerekmektedir.", PREFIX);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}
public VipMenu(id) {
	
	new menu = menu_create("\y:VIP Menu:", "VipMenu_devam");
	
	menu_additem(menu, "\w225 HP ve 255 Armor", "1", 0);
	menu_additem(menu, "\wOzel Silahlar","2", 0);
	menu_additem(menu, "\wYercekimi - \r(450)", "3", 0);
	menu_additem(menu, "\wHiz", "4", 0);
	menu_additem(menu, "\w3D Gosterme \r(Sadece 1 Tur)", "5", 0);
	menu_additem(menu, "\wGorunmezlik", "6", 0);
	menu_additem(menu, "\wYari Yariya Tekrar Dogma Sansi", "7", 0);
	menu_additem(menu, "\wMermi Sekmeme(Sadece 1 Tur)","8", 0);
	menu_additem(menu, "\wSinirsiz Mermi(Sadece 1 Tur)","9", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}
public VipMenu_devam(id, menu, item) {
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key){
		case 1:{
			set_user_health(id, 225);
			set_user_armor(id, 225);
			
			client_printc(id, "%s !tMenuden:!n !g255 HP!n ve !g255 Armor!n aldiniz", PREFIX);
		}
		case 2:{
			ozel(id);
			
			client_printc(id, "%s !tMenuden:!n !gOzel Silahlari!n sectiniz", PREFIX);
		}
		case 3:{
			set_user_gravity(id, 0.450);
			
			client_printc(id, "%s !tMenuden:!n !gYercekimi!n aldiniz", PREFIX);
		}
		case 4:{
			hizver[id] = true;
			
			set_user_maxspeed(id, cok_hizli);
			
			client_printc(id, "%s !tMenuden:!n !gHiz!n aldiniz", PREFIX);
		}
		case 5:{
			set_view(id,CAMERA_3RDPERSON);
			
			client_printc(id, "%s !tMenuden:!n !g3D Gosterme!n aldiniz", PREFIX);
		}
		case 6:{
			set_user_rendering(id, kRenderFxNone, 50, 50, 50, kRenderTransAdd, 50);
			set_user_footsteps(id, 1);
			
			client_printc(id, "%s !tMenuden:!n !gGorunmezlik!n aldiniz", PREFIX);
		}
		case 7:{
			yenidendog(id);
			
			client_printc(id, "%s !tMenuden:!n !gYari !tYariya!n !gTekrar Dogma!n sansini sectiniz.Sansliysan Tekrar Dogarsin :).", PREFIX);
		}
		case 8:{
			mermisekmeme[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gMermi Sekmeme!n sectiniz.!tMermileriniz artik sekmeyecek!!!n.", PREFIX);
		}
		case 9:{
			sinirsizmermi[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gSinirsiz Mermi!n sectiniz.!tMermileriniz artik sinirsiz!!!n.", PREFIX);
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public ozel(id){
	if(ozelsilahlar[id]){
		client_printc(id,"Menuyu her turda ^3bir defa^1 kullanabilirsiniz!");
	}
	else{
		ozelslh = menu_create("Ozel Silahinizi Secin:","OzelSilahlar_Olustur"); 
		menu_additem(ozelslh, "Golden Ak47", "1");
		menu_additem(ozelslh, "Mg13", "2");
		menu_additem(ozelslh, "Minigun", "3");
		menu_additem(ozelslh, "Crossbow", "4");
		menu_setprop(ozelslh, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, ozelslh, 0);  
	}
}
public OzelSilahlar_Olustur(id,menu,item){
	if(item == MENU_EXIT) {  
		menu_destroy(menu);  
		return PLUGIN_HANDLED;  
	} 
	new data[6], szName[64]; 
	new access, callback;
	menu_item_getinfo(ozelslh, item, access, data,charsmax(data), szName,charsmax(szName), callback); 
	new key = str_to_num(data);
	switch(key) {
		case 1:  {
			ak47_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
			client_printc(id,"^3Golden Ak47^1 Alindi.");
		}
		case 2:  {
			mg3_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m3");
			cs_set_user_bpammo(id, CSW_M3, 90);
			client_printc(id,"^3Mg3^1 Alindi.");
		}
		case 3:  {
			minigun_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m249");
			cs_set_user_bpammo(id, CSW_M249, 90);
			client_printc(id,"^3Minigun^1 Alindi.");
		}
		case 4:  {
			cross_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_awp");
			cs_set_user_bpammo(id, CSW_AWP, 90);
			client_printc(id,"^3Crossbow^1 Alindi.");
		}
	}
	menu_destroy(ozelslh);
	return PLUGIN_HANDLED; 
}
public HookCurWeapon(id) {
	new silahID = read_data(2);
	
	if(ak47_used[id] && silahID == CSW_AK47)  {  
		set_pev(id, pev_viewmodel2, VIEW_AKGOLD);  
		set_pev(id, pev_weaponmodel2, PLAYER_AKGOLD);  
	}  
	if(mg3_used[id] && silahID == CSW_M3) {  
		set_pev(id, pev_viewmodel2, VIEW_MG3);  
		set_pev(id, pev_weaponmodel2, PLAYER_MG3);  
	}  
	if(cross_used[id] && silahID == CSW_AWP) {  
		set_pev(id, pev_viewmodel2, VIEW_CROSSBOW);  
		set_pev(id, pev_weaponmodel2, PLAYER_CROSSBOW);  
	}  
	if(minigun_used[id] && silahID == CSW_M249) {  
		set_pev(id, pev_viewmodel2, VIEW_MINIGUN);  
		set_pev(id, pev_weaponmodel2, PLAYER_MINIGUN);  
	}  
	if(hizver[id]){
		set_user_maxspeed(id, cok_hizli);
	}
	return PLUGIN_CONTINUE;
}
public silahhasar(pevVictim, pevInflictor, pevAttacker, Float:flDamage, iDmgBits) {  
	if(!(1 <= pevAttacker <= get_maxplayers())) {   
		return HAM_HANDLED;   
	}
	if(!is_user_alive(pevAttacker)) {   
		return HAM_HANDLED;   
	}
	if(ak47_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * AK_HASAR); 
	}  
	if(mg3_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MG3_HASAR);
	}  
	if(cross_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * CROS_HASAR);
	}  
	if(minigun_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MIN_HASAR);
	}  
	
	return HAM_IGNORED;   
}  
public yenidendog(id) {
	if(random (2)){
		ExecuteHamB(Ham_CS_RoundRespawn, id);
		client_printc(id, "%s Tekrar !gDogdunuz!n...", PREFIX);
	}
}
public fw_Weapon_PrimaryAttack_Pre(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		pev(id, pev_punchangle, cl_pushangle[id]);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public fw_Weapon_PrimaryAttack_Post(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		new Float: push[3];
		pev(id, pev_punchangle, push);
		xs_vec_sub(push, cl_pushangle[id], push);
		xs_vec_mul_scalar(push, 0.0, push);
		xs_vec_add(push, cl_pushangle[id], push);
		set_pev(id, pev_punchangle, push);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public silahta_sinirsiz_mermi_olayi(msg_id, msg_dest, msg_entity) {
	if (!sinirsizmermi[msg_entity])
		return;
	
	if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
		return;
	
	static weapon, clip;
	weapon = get_msg_arg_int(2);
	clip = get_msg_arg_int(3);
	
	if (MAXCLIP[weapon] > 2){
		set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon]);
		
		if (clip < 2){
			static wname[32], weapon_ent;
			get_weaponname(weapon, wname, sizeof wname - 1);
			weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity);
			
			fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon]);
		}
	}
}
stock fm_find_ent_by_owner(entity, const classname[], owner) {
	while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}
	
	return entity;
}
stock fm_set_weapon_ammo(entity, amount){
	set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);
}
stock client_printc(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "!n", "^x01"); 
	replace_all(msg, 190, "!g", "^x04"); 
	replace_all(msg, 190, "!t", "^x03"); 
	
	if (id) players[0] = id; else get_players(players, count, "ch");{
		for (new i = 0; i < count; i++){
			if (is_user_connected(players[i])){
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
}

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
İlyas ERTEKİN
Mesajlar: 894
Kayıt: Pzt Haz 05, 2017 11:34 am

Eklentideki Sorunu Düzeltirmisiniz

Mesaj gönderen İlyas ERTEKİN »

hayku yazdı: Pzr Ara 15, 2019 3:22 pm konuyu fazla uzattım kusura bakmayın.

Kod: Tümünü seç

#pragma semicolon 1
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <xs>

#define AK_HASAR 1.5  
#define MG3_HASAR 2  
#define MIN_HASAR 1.8  
#define CROS_HASAR 1.3  

const WEAPONS_BITSUM = (1<<CSW_KNIFE|1<<CSW_HEGRENADE|1<<CSW_FLASHBANG|1<<CSW_SMOKEGRENADE|1<<CSW_C4);

#define ADMIN_JBVIP ADMIN_CVAR // VIP'nin Admin yetkisi ben örnek olarak "kick" yetkisi verdim siz istediğiniz gibi değiştirebilirsiniz...

#if cellbits == 32 
const OFFSET_CLIPAMMO = 51 ;
#else 
const OFFSET_CLIPAMMO = 65 ;
#endif 
const OFFSET_LINUX_WEAPONS = 4;

new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 } ;

new const VERSIYON[] = { 
	"1.0" 
};

new const PREFIX[] = { 
	"!g[VIPMENU]:!n" 
};

new Float:cok_hizli = 800.0;
new Float:normal_hizli = 250.0;
new Float: cl_pushangle[33][3];
new	sinirsizmermi[33],
ozelsilahlar[33],
ak47_used[33],
hizver[33],
mg3_used[33],
cross_used[33],
g_dead[33],
ozelslh,
minigun_used[33],
mermisekmeme[33];

new VIEW_AKGOLD[]        = "models/jailbreak/v_dl_goldenak.mdl";   
new PLAYER_AKGOLD[]     = "models/jailbreak/p_dl_goldenak.mdl";  
new VIEW_MG3[]        = "models/jailbreak/v_mg3.mdl";   
new PLAYER_MG3[]     = "models/jailbreak/p_mg3.mdl";  
new VIEW_CROSSBOW[]        = "models/jailbreak/v_crossbow_cso.mdl";   
new PLAYER_CROSSBOW[]     = "models/jailbreak/p_crossbow_cso.mdl";  
new VIEW_MINIGUN[]        = "models/jailbreak/v_m134_hum.mdl";   
new PLAYER_MINIGUN[]     = "models/jailbreak/p_m134.mdl"; 

public plugin_precache() {
	precache_model("models/rpgrocket.mdl");
	precache_model(VIEW_AKGOLD);
	precache_model(PLAYER_AKGOLD);  
	precache_model(VIEW_MG3);  
	precache_model(PLAYER_MG3);  
	precache_model(VIEW_CROSSBOW);  
	precache_model(PLAYER_CROSSBOW);  
	precache_model(VIEW_MINIGUN);  
	precache_model(PLAYER_MINIGUN);  
}
public plugin_init(){
	register_plugin("[JB]: Gelismis VIP Menu", VERSIYON, "Optimist");
	
	RegisterHam(Ham_Spawn, "player", "YeniTur", true);
	register_event("CurWeapon", "HookCurWeapon", "be", "1=1");
	
	RegisterHam(Ham_TakeDamage, "player", "silahhasar", 0);
	
	register_clcmd("say vipmenu", "VmenuKomut");
	register_clcmd("say vmenu", "VmenuKomut");
	register_clcmd("say /vmenu", "VmenuKomut");
	register_clcmd("say /vipmenu", "VmenuKomut");
	register_clcmd("say_team vipmenu", "VmenuKomut");
	register_clcmd("say_team /vipmenu", "VmenuKomut");
	
	register_message(get_user_msgid("CurWeapon"), "silahta_sinirsiz_mermi_olayi");
	
	new silahisim[24];
	for (new id = 1; id <= 30; id++){
		if (!(WEAPONS_BITSUM & 1 << id) && get_weaponname(id, silahisim, 23)){
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Pre");
			RegisterHam(Ham_Weapon_PrimaryAttack, silahisim, "fw_Weapon_PrimaryAttack_Post", 1);
		}
	}
}
public YeniTur(id) {
	g_dead[id]++;
	if(g_dead[id]>=3){
		g_dead[id]=0;
		set_view(id,CAMERA_NONE);
		hizver[id] = false;
		set_user_maxspeed(id, normal_hizli);
		set_user_rendering( id, _, 0, 0, 0, _, 0 );
		strip_user_weapons(id);
		give_item(id, "weapon_knife");
		set_user_footsteps(id, 0);
		mermisekmeme[id] = false;
		sinirsizmermi[id] = false;
		ak47_used[id] = false;
		mg3_used[id] = false;
		cross_used[id] = false;
		minigun_used[id] = false;
	}
}
public VmenuKomut(id) {
	if(g_dead[id]<3){client_printc(id, "%s Zaten !gVIP Menu!nyu daha once kullandiniz. Lutfen 3 tur bekleyin...", PREFIX); return PLUGIN_HANDLED;}
	if((get_user_flags(id) & ADMIN_JBVIP)){
		VipMenu(id);
	}
	else{
		client_printc(id, "%s !gVIP Menu!nyu kullanabilmeniz icin !gVIP!n Olmaniz Gerekmektedir.", PREFIX);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}
public VipMenu(id) {
	
	new menu = menu_create("\y:VIP Menu:", "VipMenu_devam");
	
	menu_additem(menu, "\w225 HP ve 255 Armor", "1", 0);
	menu_additem(menu, "\wOzel Silahlar","2", 0);
	menu_additem(menu, "\wYercekimi - \r(450)", "3", 0);
	menu_additem(menu, "\wHiz", "4", 0);
	menu_additem(menu, "\w3D Gosterme \r(Sadece 1 Tur)", "5", 0);
	menu_additem(menu, "\wGorunmezlik", "6", 0);
	menu_additem(menu, "\wYari Yariya Tekrar Dogma Sansi", "7", 0);
	menu_additem(menu, "\wMermi Sekmeme(Sadece 1 Tur)","8", 0);
	menu_additem(menu, "\wSinirsiz Mermi(Sadece 1 Tur)","9", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}
public VipMenu_devam(id, menu, item) {
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key){
		case 1:{
			set_user_health(id, 225);
			set_user_armor(id, 225);
			
			client_printc(id, "%s !tMenuden:!n !g255 HP!n ve !g255 Armor!n aldiniz", PREFIX);
		}
		case 2:{
			ozel(id);
			
			client_printc(id, "%s !tMenuden:!n !gOzel Silahlari!n sectiniz", PREFIX);
		}
		case 3:{
			set_user_gravity(id, 0.450);
			
			client_printc(id, "%s !tMenuden:!n !gYercekimi!n aldiniz", PREFIX);
		}
		case 4:{
			hizver[id] = true;
			
			set_user_maxspeed(id, cok_hizli);
			
			client_printc(id, "%s !tMenuden:!n !gHiz!n aldiniz", PREFIX);
		}
		case 5:{
			set_view(id,CAMERA_3RDPERSON);
			
			client_printc(id, "%s !tMenuden:!n !g3D Gosterme!n aldiniz", PREFIX);
		}
		case 6:{
			set_user_rendering(id, kRenderFxNone, 50, 50, 50, kRenderTransAdd, 50);
			set_user_footsteps(id, 1);
			
			client_printc(id, "%s !tMenuden:!n !gGorunmezlik!n aldiniz", PREFIX);
		}
		case 7:{
			yenidendog(id);
			
			client_printc(id, "%s !tMenuden:!n !gYari !tYariya!n !gTekrar Dogma!n sansini sectiniz.Sansliysan Tekrar Dogarsin :).", PREFIX);
		}
		case 8:{
			mermisekmeme[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gMermi Sekmeme!n sectiniz.!tMermileriniz artik sekmeyecek!!!n.", PREFIX);
		}
		case 9:{
			sinirsizmermi[id] = true;
			
			client_printc(id, "%s !tMenuden:!n !gSinirsiz Mermi!n sectiniz.!tMermileriniz artik sinirsiz!!!n.", PREFIX);
		}
	}
	
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public ozel(id){
	if(ozelsilahlar[id]){
		client_printc(id,"Menuyu her turda ^3bir defa^1 kullanabilirsiniz!");
	}
	else{
		ozelslh = menu_create("Ozel Silahinizi Secin:","OzelSilahlar_Olustur"); 
		menu_additem(ozelslh, "Golden Ak47", "1");
		menu_additem(ozelslh, "Mg13", "2");
		menu_additem(ozelslh, "Minigun", "3");
		menu_additem(ozelslh, "Crossbow", "4");
		menu_setprop(ozelslh, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, ozelslh, 0);  
	}
}
public OzelSilahlar_Olustur(id,menu,item){
	if(item == MENU_EXIT) {  
		menu_destroy(menu);  
		return PLUGIN_HANDLED;  
	} 
	new data[6], szName[64]; 
	new access, callback;
	menu_item_getinfo(ozelslh, item, access, data,charsmax(data), szName,charsmax(szName), callback); 
	new key = str_to_num(data);
	switch(key) {
		case 1:  {
			ak47_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
			client_printc(id,"^3Golden Ak47^1 Alindi.");
		}
		case 2:  {
			mg3_used[id] = true;
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m3");
			cs_set_user_bpammo(id, CSW_M3, 90);
			client_printc(id,"^3Mg3^1 Alindi.");
		}
		case 3:  {
			minigun_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_m249");
			cs_set_user_bpammo(id, CSW_M249, 90);
			client_printc(id,"^3Minigun^1 Alindi.");
		}
		case 4:  {
			cross_used[id] = true;  
			strip_user_weapons(id);
			give_item(id,"weapon_knife");
			give_item(id, "weapon_awp");
			cs_set_user_bpammo(id, CSW_AWP, 90);
			client_printc(id,"^3Crossbow^1 Alindi.");
		}
	}
	menu_destroy(ozelslh);
	return PLUGIN_HANDLED; 
}
public HookCurWeapon(id) {
	new silahID = read_data(2);
	
	if(ak47_used[id] && silahID == CSW_AK47)  {  
		set_pev(id, pev_viewmodel2, VIEW_AKGOLD);  
		set_pev(id, pev_weaponmodel2, PLAYER_AKGOLD);  
	}  
	if(mg3_used[id] && silahID == CSW_M3) {  
		set_pev(id, pev_viewmodel2, VIEW_MG3);  
		set_pev(id, pev_weaponmodel2, PLAYER_MG3);  
	}  
	if(cross_used[id] && silahID == CSW_AWP) {  
		set_pev(id, pev_viewmodel2, VIEW_CROSSBOW);  
		set_pev(id, pev_weaponmodel2, PLAYER_CROSSBOW);  
	}  
	if(minigun_used[id] && silahID == CSW_M249) {  
		set_pev(id, pev_viewmodel2, VIEW_MINIGUN);  
		set_pev(id, pev_weaponmodel2, PLAYER_MINIGUN);  
	}  
	if(hizver[id]){
		set_user_maxspeed(id, cok_hizli);
	}
	return PLUGIN_CONTINUE;
}
public silahhasar(pevVictim, pevInflictor, pevAttacker, Float:flDamage, iDmgBits) {  
	if(!(1 <= pevAttacker <= get_maxplayers())) {   
		return HAM_HANDLED;   
	}
	if(!is_user_alive(pevAttacker)) {   
		return HAM_HANDLED;   
	}
	if(ak47_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * AK_HASAR); 
	}  
	if(mg3_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MG3_HASAR);
	}  
	if(cross_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * CROS_HASAR);
	}  
	if(minigun_used[pevAttacker]) {  
		SetHamParamFloat( 4 , flDamage * MIN_HASAR);
	}  
	
	return HAM_IGNORED;   
}  
public yenidendog(id) {
	if(random (2)){
		ExecuteHamB(Ham_CS_RoundRespawn, id);
		client_printc(id, "%s Tekrar !gDogdunuz!n...", PREFIX);
	}
}
public fw_Weapon_PrimaryAttack_Pre(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		pev(id, pev_punchangle, cl_pushangle[id]);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public fw_Weapon_PrimaryAttack_Post(entity){
	new id = pev(entity, pev_owner);
	
	if (mermisekmeme[id]) {
		new Float: push[3];
		pev(id, pev_punchangle, push);
		xs_vec_sub(push, cl_pushangle[id], push);
		xs_vec_mul_scalar(push, 0.0, push);
		xs_vec_add(push, cl_pushangle[id], push);
		set_pev(id, pev_punchangle, push);
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}
public silahta_sinirsiz_mermi_olayi(msg_id, msg_dest, msg_entity) {
	if (!sinirsizmermi[msg_entity])
		return;
	
	if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
		return;
	
	static weapon, clip;
	weapon = get_msg_arg_int(2);
	clip = get_msg_arg_int(3);
	
	if (MAXCLIP[weapon] > 2){
		set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon]);
		
		if (clip < 2){
			static wname[32], weapon_ent;
			get_weaponname(weapon, wname, sizeof wname - 1);
			weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity);
			
			fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon]);
		}
	}
}
stock fm_find_ent_by_owner(entity, const classname[], owner) {
	while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}
	
	return entity;
}
stock fm_set_weapon_ammo(entity, amount){
	set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);
}
stock client_printc(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "!n", "^x01"); 
	replace_all(msg, 190, "!g", "^x04"); 
	replace_all(msg, 190, "!t", "^x03"); 
	
	if (id) players[0] = id; else get_players(players, count, "ch");{
		for (new i = 0; i < count; i++){
			if (is_user_connected(players[i])){
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
}


hocam isterseniz eklentinin ilk baştaki halini editleyin çünkü karıştı sanırım. şu anda eklenti mape res atıyorum 3 tur beklemen gerek diyor. 3 kere ölüyorum hala beklemen gerek diyor yani menüyü açamıyorum dolayısıyla skinlerin de gelip gelmediğini göremiyorum ve hala bıçak vermeye devam ediyor.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
İlyas ERTEKİN
Mesajlar: 894
Kayıt: Pzt Haz 05, 2017 11:34 am

Eklentideki Sorunu Düzeltirmisiniz

Mesaj gönderen İlyas ERTEKİN »

+

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
İlyas ERTEKİN
Mesajlar: 894
Kayıt: Pzt Haz 05, 2017 11:34 am

Eklentideki Sorunu Düzeltirmisiniz

Mesaj gönderen İlyas ERTEKİN »

arkadaşlar yok mu konuyla ilgilenen , bilgisi olan ?

Link:
Linklerini gizle
Linki Kopyala
Cevapla