Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Skiny tylko dla ADMIN/VIP


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 Frossive

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Łukasz
  • Lokalizacja:de_dust
Offline

Napisano 07.04.2020 18:49

Witam. 

 

Piszę do Was w sprawie skinów broni.

Chciałem dodać kilka skinów tylko dla admina lub vipa, ale nie mogę znaleźć odpowiedniego poradnika.

 

Znalazłem https://amxx.pl/topi...replacement-13/oraz https://amxx.pl/topic/152844-plugin-dający-skiny-broni-dla-vipa/.

Dodam, że z tego co widzę GHW Weapon Replacement dodaje skiny ogólnie, aby podmienić dla wszystkich, zaś w 2 temacie, wyjaśnione zostało co nie co, przez NaćpanyKsiąże jednak nie daje to żadnego efektu przy dodaniu.

 

Podaje .sma mojego VIPA:

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

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

new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};

public plugin_init(){
	register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill");
	register_forward(FM_CmdStart, "CmdStartPre");
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
	register_logevent("GameCommencing", 2, "1=Game_Commencing");
	RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
	register_event("DeathMsg", "DeathMsg", "a");
	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");
	}
	g_Hudmsg=CreateHudSyncObj();
}
public client_authorized(id , const authid[]){
	if(get_user_flags(id) & 524290 == 524290){
		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, "Witaj %s milo Cie znów widziec!",g_Name);
	
	return PLUGIN_CONTINUE;
}
public client_disconnected(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 event_new_round(){
	++gRound;
}
public GameCommencing(){
	gRound=0;
}
public SpawnedEventPre(id){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			SpawnedEventPreVip(id);
		}
	}
}
public SpawnedEventPreVip(id){
	skoki[id]=(gRound>=1?1:-1);
	show_vip_menu(id);
	new g_Model[64];
	formatex(g_Model,charsmax(g_Model),"%s",get_user_team(id) == 1 ? "VipTT" : "VipCT");
	cs_set_user_model(id,g_Model);
	if(get_user_team(id)==2){
		give_item(id, "item_thighpack");
	}
}
public menu_1_handler(id){
	new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
	if(!henum && henum<2){
		give_item(id, "weapon_hegrenade");
		++henum;
	}
	new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
	if(!fbnum && fbnum<2){
		give_item(id, "weapon_flashbang");
		++fbnum;
	}
	cs_set_user_bpammo(id, CSW_FLASHBANG, min(2, fbnum+2));
	new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
	if(!sgnum && sgnum<1){
		give_item(id, "weapon_smokegrenade");
		++sgnum;
	}
	StripWeapons(id, Secondary);
	give_item(id, "weapon_deagle");
	give_item(id, "ammo_50ae");
	weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
	if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
	cs_set_user_bpammo(id, CSW_DEAGLE, 35);
	StripWeapons(id, Primary);
	give_item(id, "weapon_m4a1");
	give_item(id, "ammo_556nato");
	weapon_id=find_ent_by_owner(-1, "weapon_m4a1", id);
	if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
	cs_set_user_bpammo(id, CSW_M4A1, 90);
}
public menu_2_handler(id){
	new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
	if(!henum && henum<2){
		give_item(id, "weapon_hegrenade");
		++henum;
	}
	new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
	if(!fbnum && fbnum<2){
		give_item(id, "weapon_flashbang");
		++fbnum;
	}
	cs_set_user_bpammo(id, CSW_FLASHBANG, min(2, fbnum+2));
	new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
	if(!sgnum && sgnum<1){
		give_item(id, "weapon_smokegrenade");
		++sgnum;
	}
	StripWeapons(id, Secondary);
	give_item(id, "weapon_deagle");
	give_item(id, "ammo_50ae");
	weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
	if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
	cs_set_user_bpammo(id, CSW_DEAGLE, 35);
	StripWeapons(id, Primary);
	give_item(id, "weapon_ak47");
	give_item(id, "ammo_762nato");
	weapon_id=find_ent_by_owner(-1, "weapon_ak47", id);
	if(weapon_id)cs_set_weapon_ammo(weapon_id, 30);
	cs_set_user_bpammo(id, CSW_AK47, 90);
}
public menu_3_handler(id){
	new henum=(user_has_weapon(id,CSW_HEGRENADE)?cs_get_user_bpammo(id,CSW_HEGRENADE):0);
	if(!henum && henum<2){
		give_item(id, "weapon_hegrenade");
		++henum;
	}
	new fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
	if(!fbnum && fbnum<2){
		give_item(id, "weapon_flashbang");
		++fbnum;
	}
	cs_set_user_bpammo(id, CSW_FLASHBANG, min(2, fbnum+2));
	new sgnum=(user_has_weapon(id,CSW_SMOKEGRENADE)?cs_get_user_bpammo(id,CSW_SMOKEGRENADE):0);
	if(!sgnum && sgnum<1){
		give_item(id, "weapon_smokegrenade");
		++sgnum;
	}
	StripWeapons(id, Secondary);
	give_item(id, "weapon_deagle");
	give_item(id, "ammo_50ae");
	weapon_id=find_ent_by_owner(-1, "weapon_deagle", id);
	if(weapon_id)cs_set_weapon_ammo(weapon_id, 7);
	cs_set_user_bpammo(id, CSW_DEAGLE, 35);
	StripWeapons(id, Primary);
	give_item(id, "weapon_awp");
	give_item(id, "ammo_338magnum");
	weapon_id=find_ent_by_owner(-1, "weapon_awp", id);
	if(weapon_id)cs_set_weapon_ammo(weapon_id, 10);
	cs_set_user_bpammo(id, CSW_AWP, 30);
}
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:10),100));
	cs_set_user_money(kid, cs_get_user_money(kid)+(hs?150:100));
}
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,"\wM4A1 + DEAGLE","",0,menu_callback_handler);
	if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
		active=true;
	}
	menu_additem(menu,"\wAK47 + DEAGLE","",0,menu_callback_handler);
	if(menu_callback(id, menu, ++num)==ITEM_ENABLED){
		active=true;
	}
	menu_additem(menu,"\wAWP + 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,"\yMenu Vipa");
		menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
		menu_display(id, menu);
	} else {
		menu_destroy(menu);
	}
}
public menu_callback(id, menu, item){
	if(is_user_alive(id)){
		if(gRound>=3){
			if(item==0){
				return ITEM_ENABLED;
			}
			if(item==1){
				return ITEM_ENABLED;
			}
			if(item==2){
				return ITEM_ENABLED;
			}
		}
	}
	return ITEM_DISABLED;
}
public menu_handler(id, menu, item){
	if(is_user_alive(id)){
		if(gRound>=3){
			if(item==0){
				menu_1_handler(id);
			}
			if(item==1){
				menu_2_handler(id);
			}
			if(item==2){
				menu_3_handler(id);
			}
		}
	}
	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 plugin_precache(){
	precache_model("models/player/VipCT/VipCT.mdl");
	precache_model("models/player/VipTT/VipTT.mdl");
}

oraz .sma pluginu modele.amxx od NaćpanyKsiąże:

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>

#define PLUGIN "Modele Broni"
#define VERSION "1.0"
#define AUTHOR "_NacpanyKsiaze_"

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	RegisterHam(Ham_Spawn, "player", "spawned", 1);        
}

public client_connect(id){
	if(get_user_flags(id) & ADMIN_LEVEL_H, ADMIN_RESERVATION)
	{
		plugin_precache()
	}
}

public plugin_precache(){
	precache_model("models/SKINYVIP/karambit1.mdl") 

Przy czym flaga ADMIN_RESERVATION oraz 

precache_model("models/SKINYVIP/karambit1.mdl")

zostało dopisane przeze mnie. Jeżeli napisałem wystarczająco spójnie, to z góry dziękuję za pomoc. Jeżeli nie, to oczywiście postaram się to wyjaśnić w jakiś inny sposób! Pozdrawiam :)

 


  • +
  • -
  • 0

#2 I am the one who knocks.

    Zaawansowany

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:133
  • Imię:Krystian
  • Lokalizacja:Albuquerque
Offline

Napisano 07.04.2020 19:27

Nie lepiej by było skorzystać już z gotowego pluginu? i menu wyboru skinów by wyświetlało się dla admina i vipa przy poprzednim przypisaniu odpowiednich flag


  • +
  • -
  • 0

#3 Frossive

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Łukasz
  • Lokalizacja:de_dust
Offline

Napisano 07.04.2020 19:32

Nie lepiej by było skorzystać już z gotowego pluginu? i menu wyboru skinów by wyświetlało się dla admina i vipa przy poprzednim przypisaniu odpowiednich flag

 

Chodzi Ci o https://amxx.pl/topi...-broni-skiny/? 
Tutaj akurat mam problem z nazewnictwem skinów, nie grywam w CS:GO dlatego też ich nie znam. Chciałbym po prostu, aby VIP bezpośrednio po otrzymaniu flagi miał skiny. Mam nadzieje, że rozumiesz.

 

Dodatkowo nie za bardzo wiem, jak dopisywać flagi, to znaczy dokładnie w którym miejscu i jak wpisywać czy w miejscu w którym mam napisaną flage ADMIN_LEVEL_H mogę po przecinku dopisać na przykład ADMIN_RESERVATION...


Użytkownik Frossive edytował ten post 07.04.2020 19:34

  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych