Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Przerobienie pluginu.


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

#1 Misiatyy<3

    Pomocny

  • Użytkownik

Reputacja: 0
zer0.

  • Postów:54
  • Imię:Bartek
  • Lokalizacja:Kielce
Offline

Napisano 14.09.2018 17:02

Cześć,

Chciałem zapytać jak przerobić ten plugin tak ,aby 2 ostatnie skiny w każdym menu były tylko dla gracza z flagą "s" ? Czyli coś na ten wzór:

1.Skin podstawowy.'

2.Skin dla gracza,

3.Skin dla gracza,

4.Skin dla gracza,

5.Skin dla gracza z flagą "s",

6.Skin dla gracza z flagą "s"

 

Z góry dzięki .

#include <amxmodx>
#include <amxmisc>
#include <engine> 
#include <vault>
#include <fun>

#define PLUGIN "Wybor skinow"
#define VERSION "1.0.0" 
#define AUTHOR "[email protected]"



new model_noza[33]
new model_m4[33]
new model_ak[33]
new model_awp[33]

public plugin_init() { 
	
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("CurWeapon","CurWeapon","be","1=1") 
	register_clcmd("say /skiny", "menuWyboru")
	register_clcmd("say /skin", "menuWyboru")
	register_clcmd("say /skins", "menuWyboru")
	register_clcmd("say /modele", "menuWyboru")
	register_clcmd("say /model", "menuWyboru")
	register_clcmd("say /models", "menuWyboru")
	
}

public plugin_precache() { 
	precache_model("models/skiny/noz/v_knife.mdl") // zwykly
	precache_model("models/skiny/noz/v_nazwaTwojegoNoza1.mdl")
	precache_model("models/skiny/noz/v_nazwaTwojegoNoza2.mdl")
	precache_model("models/skiny/noz/v_nazwaTwojegoNoza3.mdl")
	precache_model("models/skiny/noz/v_nazwaTwojegoNoza4.mdl")
	precache_model("models/skiny/noz/v_nazwaTwojegoNoza5.mdl")
	
	precache_model("models/skiny/m4a1/v_m4a1.mdl") // zwykla
	precache_model("models/skiny/m4a1/v_nazwaTwojejM41.mdl")
	precache_model("models/skiny/m4a1/v_nazwaTwojejM42.mdl")
	precache_model("models/skiny/m4a1/v_nazwaTwojejM43.mdl")
	precache_model("models/skiny/m4a1/v_nazwaTwojejM44.mdl")
	precache_model("models/skiny/m4a1/v_nazwaTwojejM45.mdl")
	
	precache_model("models/skiny/ak/v_ak47.mdl") // zwykly
	precache_model("models/skiny/ak/v_nazwaTwojegoAk1.mdl")
	precache_model("models/skiny/ak/v_nazwaTwojegoAk2.mdl")
	precache_model("models/skiny/ak/v_nazwaTwojegoAk3.mdl")
	precache_model("models/skiny/ak/v_nazwaTwojegoAk4.mdl")
	precache_model("models/skiny/ak/v_nazwaTwojegoAk5.mdl")
	
	precache_model("models/skiny/awp/v_awp.mdl") // zwykla
	precache_model("models/skiny/awp/v_nazwaTwojegoAwp1.mdl")
	precache_model("models/skiny/awp/v_nazwaTwojegoAwp2.mdl")
	precache_model("models/skiny/awp/v_nazwaTwojegoAwp3.mdl")
	precache_model("models/skiny/awp/v_nazwaTwojegoAwp4.mdl")
	precache_model("models/skiny/awp/v_nazwaTwojegoAwp5.mdl")
} 
public menuWyboru(id)
{
	new menuBody[512]
	formatex(menuBody, charsmax(menuBody), "\d[\r*\yTwojaSiec.pl\r*\d]^n\wMenu Skinow:\y")
	new menu = menu_create(menuBody, "skinsmenu")

	menu_additem(menu, "\wNoz")
	menu_additem(menu, "\wM4A1")
	menu_additem(menu, "\wAK47")
	menu_additem(menu, "\wAWP")
	
	
	menu_setprop(menu, MPROP_BACKNAME, "Wroc");
	menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");

	menu_display(id, menu);
}
public skinsmenu(id, menu, item) {

	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	switch(item) 
	{
		case 0: menu_noze(id)
		case 1: menu_m4(id)
		case 2: menu_ak(id)
		case 3: menu_awp(id)
		default: return PLUGIN_HANDLED
	}
	return PLUGIN_HANDLED
} 
public menu_noze(id) {
	new menuBody[512]
	formatex(menuBody, charsmax(menuBody), "\ySkiny do \rNoza:")
	new menu = menu_create(menuBody, "knifemenu")
	
	menu_additem(menu, "\wZwykly Noz | Klasyczny")
	
	menu_additem(menu, "\wNazwa Twojego Noza | 1")
	
	menu_additem(menu, "\wNazwa Twojego Noza | 2")

	menu_additem(menu, "\wNazwa Twojego Noza | 3")
	
	menu_additem(menu, "\wNazwa Twojego Noza | 4")

	menu_additem(menu, "\wNazwa Twojego Noza | 5")
	
	
	menu_setprop(menu, MPROP_BACKNAME, "Wroc");
	menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");

	menu_display(id, menu);
}

public knifemenu(id, menu, item) {
	switch(item) 
	{
		case 0: SetKnife(id , 0)
		case 1: SetKnife(id , 1)
		case 2: SetKnife(id , 2)
		case 3: SetKnife(id , 3)
		case 4: SetKnife(id , 4)
		case 5: SetKnife(id , 5)
		default: return PLUGIN_HANDLED
	}
	ZapiszNoz(id)
	return PLUGIN_HANDLED
} 

public SetKnife(id , Knife) {
	model_noza[id] = Knife
	
	new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo) 
	if ( Weapon != CSW_KNIFE )
	return PLUGIN_HANDLED
	
	new vModel[56]
	
	switch(Knife)
	{
	case 0: 
		{
			format(vModel,55,"models/skiny/noz/v_knife.mdl")
		}
	case 1: 
		{
			format(vModel,55,"models/skiny/noz/v_nazwaTwojegoNoza1.mdl")
		}
	case 2: 
		{
			format(vModel,55,"models/skiny/noz/v_nazwaTwojegoNoza2.mdl")
		}
	case 3: 
		{
			format(vModel,55,"models/skiny/noz/v_nazwaTwojegoNoza3.mdl")
		}
	case 4: 
		{
			format(vModel,55,"models/skiny/noz/v_nazwaTwojegoNoza4.mdl")
		}
	case 5:
		{
			format(vModel,55,"models/skiny/noz/v_nazwaTwojegoNoza5.mdl")
		}
	} 
	
	entity_set_string(id, EV_SZ_viewmodel, vModel)
	
	return PLUGIN_HANDLED;  
}
public menu_m4(id) {
	new menuBody[512]
	formatex(menuBody, charsmax(menuBody), "\ySkiny do \rM4A1:")
	new menu = menu_create(menuBody, "m4menu")
	
	menu_additem(menu, "\wZwykla M4A1")
	
	menu_additem(menu, "\wNazwa Twojej M4 | 1")
	
	menu_additem(menu, "\wNazwa Twojej M4 | 2")
	
	menu_additem(menu, "\wNazwa Twojej M4 | 3")
	
	menu_additem(menu, "\wNazwa Twojej M4 | 4")
	
	menu_additem(menu, "\wNazwa Twojej M4 | 5")
	
	
	menu_setprop(menu, MPROP_BACKNAME, "Wroc");
	menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");

	menu_display(id, menu);
}

public m4menu(id, menu, item) {
	switch(item) 
	{
		case 0: SetM4A1(id , 0)
		case 1: SetM4A1(id , 1)
		case 2: SetM4A1(id , 2)
		case 3: SetM4A1(id , 3)
		case 4: SetM4A1(id , 4)
		case 5: SetM4A1(id , 5)
		default: return PLUGIN_HANDLED
	}
	ZapiszM4(id)
	return PLUGIN_HANDLED
} 

public SetM4A1(id , M4A1) {
	model_m4[id] = M4A1
	
	new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo) 
	if ( Weapon != CSW_M4A1 )
	return PLUGIN_HANDLED
	
	new vModel[56]
	
	switch(M4A1)
	{
	case 0: {
			format(vModel,55,"models/skiny/m4a1/v_m4a1.mdl")
		}
	case 1: {
			format(vModel,55,"models/skiny/m4a1/v_nazwaTwojejM41.mdl")
		}
	case 2: {
			format(vModel,55,"models/skiny/m4a1/v_nazwaTwojejM42.mdl")
		}
	case 3: {
			format(vModel,55,"models/skiny/m4a1/v_nazwaTwojejM43.mdl")
		}
	case 4: {
			format(vModel,55,"models/skiny/m4a1/v_nazwaTwojejM44.mdl")
		}
	case 5: {
			format(vModel,55,"models/skiny/m4a1/v_nazwaTwojejM45.mdl")
		}
	} 
	
	entity_set_string(id, EV_SZ_viewmodel, vModel)
	
	return PLUGIN_HANDLED;  
}
public menu_ak(id) {
	new menuBody[512]
	formatex(menuBody, charsmax(menuBody), "\ySkiny do \rAK47:")
	new menu = menu_create(menuBody, "akmenu")
	
	menu_additem(menu, "\wZwykly AK47")
	
	menu_additem(menu, "\wNazwa Twojego AK | 1")
	
	menu_additem(menu, "\wNazwa Twojego AK | 2")
	
	menu_additem(menu, "\wNazwa Twojego AK | 3")
	
	menu_additem(menu, "\wNazwa Twojego AK | 4")
	
	menu_additem(menu, "\wNazwa Twojego AK | 5")
	
	
	menu_setprop(menu, MPROP_BACKNAME, "Wroc");
	menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");

	menu_display(id, menu);
}

public akmenu(id, menu, item) {
	switch(item) 
	{
		case 0: SetAK47(id , 0)
		case 1: SetAK47(id , 1)
		case 2: SetAK47(id , 2)
		case 3: SetAK47(id , 3)
		case 4: SetAK47(id , 4)
		case 5: SetAK47(id , 5)
		default: return PLUGIN_HANDLED
	}
	ZapiszAK(id)
	return PLUGIN_HANDLED
} 

public SetAK47(id , AK47) {
	model_ak[id] = AK47
	
	new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo) 
	if ( Weapon != CSW_AK47 )
	return PLUGIN_HANDLED
	
	new vModel[56]
	
	switch(AK47)
	{
	case 0: {
			format(vModel,55,"models/skiny/ak/v_ak47.mdl")
		}
	case 1: {
			format(vModel,55,"models/skiny/ak/v_nazwaTwojegoAk1.mdl")
		}
	case 2: {
			format(vModel,55,"models/skiny/ak/v_nazwaTwojegoAk2.mdl")
		}
	case 3: {
			format(vModel,55,"models/skiny/ak/v_nazwaTwojegoAk3.mdl")
		}
	case 4: {
			format(vModel,55,"models/skiny/ak/v_nazwaTwojegoAk4.mdl")
		}
	case 5: {
			format(vModel,55,"models/skiny/ak/v_nazwaTwojegoAk5.mdl")
		}
	} 
	
	entity_set_string(id, EV_SZ_viewmodel, vModel)
	
	return PLUGIN_HANDLED;  
}
public menu_awp(id) {
	new menuBody[512]
	formatex(menuBody, charsmax(menuBody), "\ySkiny do \rAWP:")
	new menu = menu_create(menuBody, "awpmenu")
	
	menu_additem(menu, "\wZwykle AWP")
	
	menu_additem(menu, "\wNazwa Twojego AWP | 1")
	
	menu_additem(menu, "\wNazwa Twojego AWP | 2")
	
	menu_additem(menu, "\wNazwa Twojego AWP | 3")
	
	menu_additem(menu, "\wNazwa Twojego AWP | 4")
	
	menu_additem(menu, "\wNazwa Twojego AWP | 5")
	
	
	menu_setprop(menu, MPROP_BACKNAME, "Wroc");
	menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");

	menu_display(id, menu);
}

public awpmenu(id, menu, item) {
	switch(item) 
	{
		case 0: SetAWP(id , 0)
		case 1: SetAWP(id , 1)
		case 2: SetAWP(id , 2)
		case 3: SetAWP(id , 3)
		case 4: SetAWP(id , 4)
		case 5: SetAWP(id , 5)
		default: return PLUGIN_HANDLED
	}
	ZapiszAWP(id)
	return PLUGIN_HANDLED
} 

public SetAWP(id , AWP) {
	model_awp[id] = AWP
	
	new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo) 
	if ( Weapon != CSW_AWP )
	return PLUGIN_HANDLED
	
	new vModel[56]
	
	switch(AWP)
	{
	case 0: {
			format(vModel,55,"models/skiny/awp/v_awp.mdl")
		}
	case 1: {
			format(vModel,55,"models/skiny/awp/v_nazwaTwojegoAwp1.mdl")
		}
	case 2: {
			format(vModel,55,"models/skiny/awp/v_nazwaTwojegoAwp2.mdl")
		}
	case 3: {
			format(vModel,55,"models/skiny/awp/v_nazwaTwojegoAwp3.mdl")
		}
	case 4: {
			format(vModel,55,"models/skiny/awp/v_nazwaTwojegoAwp4.mdl")
		}
	case 5: {
			format(vModel,55,"models/skiny/awp/v_nazwaTwojegoAwp5.mdl")
		}
	} 
	
	entity_set_string(id, EV_SZ_viewmodel, vModel)
	
	return PLUGIN_HANDLED;  
}
public CurWeapon(id)
{
	if(!is_user_alive(id))
		return PLUGIN_HANDLED;
	

	SetKnife(id, model_noza[id])
	SetM4A1(id, model_m4[id])
	SetAK47(id, model_ak[id])
	SetAWP(id, model_awp[id])
	
	return PLUGIN_HANDLED   

}
public client_authorized(id)
{
	ZaladujNoze(id)
	ZaladujM4(id)
	ZaladujAK(id)
	ZaladujAWP(id)
}

ZapiszNoz(id)
{ 
	
	new authid[32]
	get_user_authid(id, authid, 31)
	
	new vaultkey[64]
	new vaultdata[64]
	
	format(vaultkey, 63, "Knife_%s", authid)
	format(vaultdata, 63, "%d", model_noza[id])
	set_vaultdata(vaultkey, vaultdata)
}

ZaladujNoze(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	
	new vaultkey[64], vaultdata[64]
	
	format(vaultkey, 63, "Knife_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	model_noza[id] = str_to_num(vaultdata)
	
}
ZapiszM4(id)
{ 
	
	new authid[32]
	get_user_authid(id, authid, 31)
	
	new vaultkey[64]
	new vaultdata[64]
	
	format(vaultkey, 63, "M4A1_%s", authid)
	format(vaultdata, 63, "%d", model_m4[id])
	set_vaultdata(vaultkey, vaultdata)
}

ZaladujM4(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	
	new vaultkey[64], vaultdata[64]
	
	format(vaultkey, 63, "M4A1_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	model_m4[id] = str_to_num(vaultdata)
	
}
ZapiszAK(id)
{ 
	
	new authid[32]
	get_user_authid(id, authid, 31)
	
	new vaultkey[64]
	new vaultdata[64]
	
	format(vaultkey, 63, "AK47_%s", authid)
	format(vaultdata, 63, "%d", model_ak[id])
	set_vaultdata(vaultkey, vaultdata)
}

ZaladujAK(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	
	new vaultkey[64], vaultdata[64]
	
	format(vaultkey, 63, "AK47_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	model_ak[id] = str_to_num(vaultdata)
	
}
ZapiszAWP(id)
{ 
	
	new authid[32]
	get_user_authid(id, authid, 31)
	
	new vaultkey[64]
	new vaultdata[64]
	
	format(vaultkey, 63, "AWP_%s", authid)
	format(vaultdata, 63, "%d", model_awp[id])
	set_vaultdata(vaultkey, vaultdata)
}

ZaladujAWP(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	
	new vaultkey[64], vaultdata[64]
	
	format(vaultkey, 63, "AWP_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	model_awp[id] = str_to_num(vaultdata)
	
} 





  • +
  • -
  • 0

#2 TibacK

    Godlike

  • Power User

Reputacja: 595
Wszechwiedzący

  • Postów:2 791
Offline

Napisano 14.09.2018 17:59

Taki przykład:

public menu_noze(id) {
	new menuBody[512]
	formatex(menuBody, charsmax(menuBody), "\ySkiny do \rNoza:")
	new menu = menu_create(menuBody, "knifemenu")
	new cb = menu_makecallback("cbMenu")
	
	menu_additem(menu, "\wZwykly Noz | Klasyczny")
	
	menu_additem(menu, "\wNazwa Twojego Noza | 1")
	
	menu_additem(menu, "\wNazwa Twojego Noza | 2")

	menu_additem(menu, "\wNazwa Twojego Noza | 3")
	
	menu_additem(menu, "\wNazwa Twojego Noza | 4", _, _, cb)

	menu_additem(menu, "\wNazwa Twojego Noza | 5", _, _, cb)
	
	
	menu_setprop(menu, MPROP_BACKNAME, "Wroc");
	menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");

	menu_display(id, menu);
}

public cbMenu(id, menu, item){
	if(get_user_flags(id) & ADMIN_LEVEL_G){
		return ITEM_ENABLED
	}

	return ITEM_DISABLED;
}

Pisane na szybko, jak masz pytania to pisz. Zobacz sobie tu jeszcze:

 

https://forums.allie...64#MenuCallback

https://amxx.pl/doku...nu-makecallback


  • +
  • -
  • 1

#3 Misiatyy<3

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:54
  • Imię:Bartek
  • Lokalizacja:Kielce
Offline

Napisano 14.09.2018 18:04

Rozumiem ,że to nie skin będzie podpisany pod flagę tylko jego wybór w menu tak?


  • +
  • -
  • 0

#4 TibacK

    Godlike

  • Power User

Reputacja: 595
Wszechwiedzący

  • Postów:2 791
Offline

Napisano 14.09.2018 18:27

To Ci jakby zablokuje opcje w menu, więc nie będzie się dało jej wybrać


  • +
  • -
  • 0

#5 Misiatyy<3

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:54
  • Imię:Bartek
  • Lokalizacja:Kielce
Offline

Napisano 14.09.2018 18:30

Okej. Wiem ,że dopisuje się dodatkowo coś po to ,aby dodatkowo informowało gracza ,dlaczego nie może wybrać. Tzn wiadomość na say widoczna tylko dla niego coś w stylu 
"Aby wybrać ten skin wykup Svip'a " Pamiętasz może jak to się robiło ? 


  • +
  • -
  • 0

#6 Misiatyy<3

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:54
  • Imię:Bartek
  • Lokalizacja:Kielce
Offline

Napisano 14.09.2018 18:31

Okej. Wiem ,że dopisuje się dodatkowo coś po to ,aby dodatkowo informowało gracza ,dlaczego nie może wybrać. Tzn wiadomość na say widoczna tylko dla niego coś w stylu 
"Aby wybrać ten skin wykup Svip'a " Pamiętasz może jak to się robiło ? 


  • +
  • -
  • 0

#7 TibacK

    Godlike

  • Power User

Reputacja: 595
Wszechwiedzący

  • Postów:2 791
Offline

Napisano 14.09.2018 18:43

Jak chcesz info takie to są 2 możliwości...

1) w callbacku od menu zmienić nazwe itemu w menu (dodać na koncu jakis tekst typu" nie masz vipa czy cos)

2)

w handlerze od menu sprawdzac czy ma flage, callback nie jest potrzebny wtedy

public awpmenu(id, menu, item) {
	switch(item) 
	{
		case 0: SetAWP(id , 0)
		case 1: SetAWP(id , 1)
		case 2: SetAWP(id , 2)
		case 3: SetAWP(id , 3)
		case 4:{
			if(!(get_user_flags(id) & ADMIN_LEVEL_G)){
				client_print(id, 3, "NIE MASZ BIPA")
				return 0;
			}
			SetAWP(id , 4)
		}
		case 5:{
			if(!(get_user_flags(id) & ADMIN_LEVEL_G)){
				client_print(id, 3, "NIE MASZ BIPA")
				return 0;
			}
			SetAWP(id , 5)
		} 
		default: return PLUGIN_HANDLED
	}
	ZapiszAWP(id)
	return PLUGIN_HANDLED
} 

  • +
  • -
  • 1

#8 Misiatyy<3

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:54
  • Imię:Bartek
  • Lokalizacja:Kielce
Offline

Napisano 14.09.2018 18:50

Okej, dzięki za wyjaśnienie.  :)


  • +
  • -
  • 0




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

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