Skocz do zawartości
Szukaj w
  • Więcej opcji...
Znajdź wyniki, które...
Szukaj wyników w...

2 odpowiedzi w tym temacie

Rekomendowane odpowiedzi

Witam szukam Vipa na serwer FFA+BF2 , próbowałem szukać lecz vip nie miał tego co chciałem , generator VIP'a nie działa.

 

 

Następująco chciałbym aby VIP posiadał :

Prefix przed nickiem

Przywitanie gdy Vip wchodzi na serwer

Status Vip w Tabeli

/vips pokazuje vipy online

 

 

Menu Vipa z 5 zestawami broni :

- ak47 + deagle za 2000$

- m4a1 + deagle za 2000$

- awp + deagle za 2000$

- krowa(m249) + deagle za 2000$

- autopompa(xm1014) + deagle za 2000$

 

Multijump :

- 1 dodatkowy skok

 

Od początku Rundy :

1Zestaw Granatów :

- He

- 2x Fb

- Sg (smoke)

 

2Jeżeli w ct to Defuse Kit.

 

3Pełen magazynek

 

Bonusy:

Za Zabicie : 300$ + 5Hp

Za Zabicie + HS : 500$ + 10Hp

 

Dodatkowo , ale nie musi być : vip na flage "t" , menu vipa dostępne od 3 rundy

 

 

 

 

 

 

Edytowane przez logitwonsz

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Generator vipa działa, tylko na razie nie da sie kompilować online. Musisz lokalnie. No, ale prosze oto kod na to co chcesz (otwórz spoiler).

 

 

 

#include <amxmodx>
#include <colorchat>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

new Array:g_Array, bool:g_Vip[33], gRound=0, g_Hudmsg, menu,
menu_callback_handler, skoki[33];

new const clips[]={0, 13, -0, 10, 1, 7, 0, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, 0, 50};
new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};

public plugin_init(){
	register_plugin("VIP", "1.0", "AMXX.PL");
	register_forward(FM_CmdStart, "CmdStartPre");
	RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
	register_event("DeathMsg", "DeathMsg", "a");
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
	register_logevent("GameCommencing", 2, "1=Game_Commencing");
	register_message(get_user_msgid("ScoreAttrib"), "VipStatus");
	g_Array=ArrayCreate(64,32);
	for(new i;i<sizeof g_Langcmd;i++){
		register_clcmd(g_Langcmd[i], "ShowVips");
	}
	register_message(get_user_msgid("SayText"),"handleSayText");
	g_Hudmsg=CreateHudSyncObj();
}
public client_authorized(id){
	if(get_user_flags(id) & 32 == 32){
		client_authorized_vip(id);
	}
}
public client_authorized_vip(id){
	g_Vip[id]=true;
	new g_Name[64];
	get_user_name(id,g_Name,charsmax(g_Name));
	
	new g_Size = ArraySize(g_Array);
	new szName[64];
	
	for(new i = 0; i < g_Size; i++){
		ArrayGetString(g_Array, i, szName, charsmax(szName));
		
		if(equal(g_Name, szName)){
			return 0;
		}
	}
	ArrayPushString(g_Array,g_Name);
	set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
	ShowSyncHudMsg(0, g_Hudmsg, "Vip %s wbija na serwer !",g_Name);
	
	return PLUGIN_CONTINUE;
}
public client_disconnect(id){
	if(g_Vip[id]){
		client_disconnect_vip(id);
	}
}
public client_disconnect_vip(id){
	g_Vip[id]=false;
	new Name[64];
	get_user_name(id,Name,charsmax(Name));
	
	new g_Size = ArraySize(g_Array);
	new g_Name[64];
	
	for(new i = 0; i < g_Size; i++){
		ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
		
		if(equal(g_Name,Name)){
			ArrayDeleteItem(g_Array,i);
			break;
		}
	}
}
public CmdStartPre(id, uc_handle){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			CmdStartPreVip(id, uc_handle);
		}
	}
}
public CmdStartPreVip(id, uc_handle){
	new flags = pev(id, pev_flags);
	if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){
		--skoki[id];
		new Float:velocity[3];
		pev(id, pev_velocity,velocity);
		velocity[2] = random_float(265.0,285.0);
		set_pev(id,pev_velocity,velocity);
	} else if(flags & FL_ONGROUND && skoki[id]!=-1){
		skoki[id] = 1;
	}
}
public SpawnedEventPre(id){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			SpawnedEventPreVip(id);
		}
	}
}
public SpawnedEventPreVip(id){
	skoki[id]=1;
	new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
	give_item(id, "weapon_hegrenade");
	++henum;
	new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
	give_item(id, "weapon_flashbang");
	++fbnum;
	cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
	new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
	give_item(id, "weapon_smokegrenade");
	++sgnum;
	recharge(id);
	show_vip_menu(id);
	if(get_user_team(id)==2){
		give_item(id, "item_thighpack");
	}
}
public recharge(id){
	new wid=get_user_weapon(id);
	if(wid){
		new weaponname[32], weid;
		get_weaponname(wid, weaponname, 31);
		weid=find_ent_by_owner(-1, weaponname, id);
		if(weid){
			cs_set_weapon_ammo(weid, clips[wid]);
		}
	}
}
public DeathMsg(){
	new killer=read_data(1);
	new victim=read_data(2);
	
	if(is_user_alive(killer) && g_Vip[killer] && get_user_team(killer) != get_user_team(victim)){
		DeathMsgVip(killer,victim,read_data(3));
	}
}
public DeathMsgVip(kid,vid,hs){
	set_user_health(kid, min(get_user_health(kid)+(hs?10:5),180));
	cs_set_user_money(kid, cs_get_user_money(kid)+(hs?500:300));
}
public show_vip_menu(id){
	menu=menu_create("\rMenu VIPa","menu_handler");
	menu_callback_handler=menu_makecallback("menu_callback");
	new bool:active=false, num=-1;
	menu_additem(menu,"\d(\w2000\y$\d) \wAK47 + Deagle","",0,menu_callback_handler);
	if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
		active=true;
	}
	menu_additem(menu,"\d(\w2000\y$\d) \wM4A1 + Deagle","",0,menu_callback_handler);
	if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
		active=true;
	}
	menu_additem(menu,"\d(\w2000\y$\d) \wAWP + Deagle","",0,menu_callback_handler);
	if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
		active=true;
	}
	menu_additem(menu,"\d(\w2000\y$\d) \wM249 + Deagle","",0,menu_callback_handler);
	if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
		active=true;
	}
	menu_additem(menu,"\d(\w2000\y$\d) \wXM1014 + Deagle","",0,menu_callback_handler);
	if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
		active=true;
	}
	if(active){
		menu_setprop(menu,MPROP_EXITNAME,"Wyjscie");
		menu_setprop(menu,MPROP_TITLE,"\rMenu Vipa");
		menu_setprop(menu,MPROP_NUMBER_COLOR,"\y");
		menu_display(id, menu);
	} else {
		menu_destroy(menu);
	}
}

public event_new_round(){
	++gRound;
}
public GameCommencing(){
	gRound=0;
}
public menu_callback(id, menu, item){
	if(is_user_alive(id)){
		if(gRound>=3){
			if(cs_get_user_money(id)>=2000){
				if(item==0){
					return ITEM_ENABLED;
				}
				if(item==1){
					return ITEM_ENABLED;
				}
				if(item==2){
					return ITEM_ENABLED;
				}
				if(item==3){
					return ITEM_ENABLED;
				}
				if(item==4){
					return ITEM_ENABLED;
				}
			}
		}
	}
	return ITEM_DISABLED;
}
public menu_handler(id, menu, item){
	if(is_user_alive(id)){
		if(gRound>=3){
			if(cs_get_user_money(id)>=2000){
				if(item==0){
					give_item(id, "weapon_ak47");
					give_item(id, "weapon_deagle");
					cs_set_user_bpammo(id, CSW_AK47, 90);
					cs_set_user_bpammo(id, CSW_DEAGLE, 35);
					cs_set_user_money(id, cs_get_user_money(id)-2000, 1);
				}
				if(item==1){
					give_item(id, "weapon_m4a1");
					give_item(id, "weapon_deagle");
					cs_set_user_bpammo(id, CSW_M4A1, 90);
					cs_set_user_bpammo(id, CSW_DEAGLE, 35);
					cs_set_user_money(id, cs_get_user_money(id)-2000, 1);
				}
				if(item==2){
					give_item(id, "weapon_awp");
					give_item(id, "weapon_deagle");
					cs_set_user_bpammo(id, CSW_AWP, 30);
					cs_set_user_bpammo(id, CSW_DEAGLE, 35);
					cs_set_user_money(id, cs_get_user_money(id)-2000, 1);
				}
				if(item==3){
					give_item(id, "weapon_m249");
					give_item(id, "weapon_deagle");
					cs_set_user_bpammo(id, CSW_M249, 200);
					cs_set_user_bpammo(id, CSW_DEAGLE, 35);
					cs_set_user_money(id, cs_get_user_money(id)-2000, 1);
				}
				if(item==4){
					give_item(id, "weapon_xm1014");
					give_item(id, "weapon_deagle");
					cs_set_user_bpammo(id, CSW_XM1014, 32);
					cs_set_user_bpammo(id, CSW_DEAGLE, 35);
					cs_set_user_money(id, cs_get_user_money(id)-2000, 1);
				}
			}
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public VipStatus(){
	new id=get_msg_arg_int(1);
	if(is_user_alive(id) && g_Vip[id]){
		set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
	}
}
public ShowVips(id){
	new g_Name[64],g_Message[192];
	
	new g_Size=ArraySize(g_Array);
	
	for(new i = 0; i < g_Size; i++){
		ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
		
		add(g_Message, charsmax(g_Message), g_Name);
		
		if(i == g_Size - 1){
			add(g_Message, charsmax(g_Message), ".");
		}
		else{
			add(g_Message, charsmax(g_Message), ", ");
		}
	}
	ColorChat(id,GREEN,"^x03Vipy ^x04na ^x03serwerze: ^x04%s", g_Message);
	return PLUGIN_CONTINUE;
}
public client_infochanged(id){
	if(g_Vip[id]){
		new szName[64];
		get_user_info(id,"name",szName,charsmax(szName));
		
		new Name[64];
		get_user_name(id,Name,charsmax(Name));
		
		if(!equal(szName,Name)){
			ArrayPushString(g_Array,szName);
			
			new g_Size=ArraySize(g_Array);
			new g_Name[64];
			for(new i = 0; i < g_Size; i++){
				ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
				
				if(equal(g_Name,Name)){
					ArrayDeleteItem(g_Array,i);
					break;
				}
			}
		}
	}
}
public plugin_end(){
	ArrayDestroy(g_Array);
}
public handleSayText(msgId,msgDest,msgEnt){
	new id = get_msg_arg_int(1);
	
	if(is_user_connected(id) && g_Vip[id]){
		new szTmp[256],szTmp2[256];
		get_msg_arg_string(2,szTmp, charsmax(szTmp))
		
		new szPrefix[64] = "^x04[VIP]";
		
		if(!equal(szTmp,"#Cstrike_Chat_All")){
			add(szTmp2,charsmax(szTmp2),szPrefix);
			add(szTmp2,charsmax(szTmp2)," ");
			add(szTmp2,charsmax(szTmp2),szTmp);
		}
		else{
			add(szTmp2,charsmax(szTmp2),szPrefix);
			add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 :  %s2");
		}
		set_msg_arg_string(2,szTmp2);
	}
	return PLUGIN_CONTINUE;
}

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×