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

[ROZWIĄZANE] Nie wyświetla się menu w pluginie gunshopPlugin gunshop, zrobiony na podstawie drshop

gunshop drshop menu plugin

Najlepsza odpowiedź ogieR8, 02.01.2015 21:14

new gMsgItemPickup
gMsgItemPickup = get_user_msgid( "ItemPickup" );
register_event( "CurWeapon", "HookCurWeapon", "be", "1=1" );
RegisterHam( Ham_Player_Jump, "player", "bacon_playerJumping" );

i wiele innych, których nie powinno tutaj być. Tworzysz zmienne, przydzielasz im 'wartość', ale nie korzystasz z nich. Łapiesz wydarzenia, a potem nie odwołujesz się do nich w kodzie, usuń to co zbędne. Może się zdziwisz, gdy skończysz ;)

 

Masz tutaj troszkę nieco ułożony kod http://wklej.to/rHKkl - czytelniejszy na pewno.

Przejdź do postu


  • Zamknięty Temat jest zamknięty
10 odpowiedzi w tym temacie

#1 Jcr

    Pomocny

  • Użytkownik

Reputacja: -3
Nowy

  • Postów:69
  • Lokalizacja:Wroclaw
Offline

Napisano 02.01.2015 19:35

Witam, na podstawie pluginu deathrun shop (http://amxx.pl/topic...oney-drshop-pl/) zrobiłem gunshop

Mam z nim taki problem, że gdy wpisze /gunshop, nie otwiera menu

Cvary w pluginie oraz w plikach zgadzają się

 

Kod poniżej, z góry dziękuję za pomoc :)

W załączniku plik lang oraz cfg

// includy
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <cstrike>
#include <money_ul>

//dzwieki + pierdoly
#pragma semicolon 1
#define PICKUP_SND		"items/gunpickup2.wav"
#define ADMIN_ACCESS_CMD	ADMIN_KICK	


// informacje (plugin zostal przeobiony z gsshopa)
new const PLUGIN[] 	= "Gun Shop";
new const VERSION[] 	= "1";
new const AUTHOR[] 	= "Jcr";

//ogolne 
new gGsShopOn;
new gAdvertiseCvar;
new gAdvertiseTimeCvar;
new gMsgItemPickup;

// bronie
new gDeagleCost;
new gP228Cost;
new gEliteCost;
new gGalilCost;
new gFamasCost;
new gFivesevenCost;

// zmienne
new HasDeagle[ 33 ];
new HasP228[ 33 ];
new HasElite[ 33 ];
new HasGalil[ 33 ];
new HasFamas[ 33 ];
new HasFiveseven[ 33 ];

// plugin
public plugin_init()
{
	register_plugin( PLUGIN, VERSION, AUTHOR );
	
	register_cvar( "gsshop_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY );

	register_logevent( "logevent_round_start", 2, "1=Round_Start" );
	register_event( "DeathMsg", "Hook_Deathmessage", "a" );
	register_event( "CurWeapon", "HookCurWeapon", "be", "1=1" );
	
	RegisterHam( Ham_Player_Jump, "player", "bacon_playerJumping" );
	
// rejestrowanie saya
	register_clcmd( "say /gunshop", "GunShop" );
	register_clcmd( "say_team /gunshop", "GunShop" );

// cvaryyyyy
	gGsShopOn = register_cvar( "gun_shop", "1" );
	gAdvertiseCvar = register_cvar( "gun_advertise_message", "1" );
	gAdvertiseTimeCvar = register_cvar( "gun_advertise_time", "26.0" );

// cvary do broni
	gDeagleCost = register_cvar( "gun_deagle_cost", "31" );
	gP228Cost = register_cvar( "gun_p228_cost", "31" );
	gEliteCost = register_cvar( "gun_elite_cost", "31" );
	gGalilCost = register_cvar( "gun_galil_cost", "31" );
	gFamasCost = register_cvar( "gun_famas_cost", "31" );
	gFivesevenCost = register_cvar( "gun_fiveseven_cost", "31" );

	gMsgItemPickup = get_user_msgid( "ItemPickup" );

// slowniczek
	register_dictionary( "GunShopLang.txt" );
}

public plugin_precache()
{
	precache_sound( PICKUP_SND );
}

public plugin_cfg()
{
	new iCfgDir[ 32 ], iFile[ 192 ];

	get_configsdir( iCfgDir, charsmax( iCfgDir ) );
	formatex( iFile, charsmax( iFile ), "%s/GunShop_Cfg.cfg", iCfgDir );
		
	if( !file_exists( iFile ) )
	{
		server_print( "[gsshop] %L", LANG_SERVER, "gsshop_SVPRINT", iFile );
		write_file( iFile, " ", -1 );
	}

	else
	{		
		server_print( "[gsshop] %L", LANG_SERVER, "gsshop_SVPRINT_DONE", iFile );
		server_cmd( "exec %s", iFile );
	}
	
	server_cmd( "sv_maxspeed 99999999.0" );
}

public client_connect( id )
{
	
	HasDeagle[ id ] = false;
	HasP228[ id ] = false;
	HasElite[ id ] = false;
	HasGalil[ id ] = false;
	HasFamas[ id ] = false;
	HasFiveseven[ id ] = false;
	
}

public client_disconnect( id )
{	
	HasDeagle[ id ] = false;
	HasP228[ id ] = false;
	HasElite[ id ] = false;
	HasGalil[ id ] = false;
	HasFamas[ id ] = false;
	HasFiveseven[ id ] = false;
	
}

public client_putinserver( id )
{
	if( get_pcvar_num( gAdvertiseCvar ) != 0 )
	{
		set_task( get_pcvar_float( gAdvertiseTimeCvar ), "ShowPlayerInfo", id );
	}
}

public GunShop( id )
{
	if( get_pcvar_num( gGsShopOn ) != 1 )
	{
		client_print( id, print_chat, "[gsshop] %L", id, "gsshop_DISABLED" );
		return PLUGIN_HANDLED;
	}
	
	if( !is_user_alive( id ) )
	{
		client_print( id, print_chat, "[gsshop] %L", id, "gsshop_ONLY_ALIVE" );
		return PLUGIN_HANDLED;
	}

	new kasa = cs_get_user_money_ul(id);
	new szText[ 555 char ];
	formatex( szText, charsmax( szText ), "%L", id, "gsshop_MENU_TITLE", VERSION, kasa);
	
	new menu = menu_create( szText, "shop_handler" );	
	
// bron 1
	formatex( szText, charsmax( szText ), "%L", id, "gsshop_ITEM_1", get_pcvar_num( gDeagleCost ) );
	menu_additem( menu, szText, "1", 0 );

// bron 2
	formatex( szText, charsmax( szText ), "%L", id, "gsshop_ITEM_2", get_pcvar_num( gP228Cost ) );
	menu_additem( menu, szText, "2", 0 );

// bron 3
	formatex( szText, charsmax( szText ), "%L", id, "gsshop_ITEM_3", get_pcvar_num( gEliteCost ) );
	menu_additem( menu, szText, "3", 0 );

// bron 4
	formatex( szText, charsmax( szText ), "%L", id, "gsshop_ITEM_4", get_pcvar_num( gGalilCost ) );
	menu_additem( menu, szText, "4", 0 );

// bron 5
	formatex( szText, charsmax( szText ), "%L", id, "gsshop_ITEM_5", get_pcvar_num( gFamasCost ) );
	menu_additem( menu, szText, "5", 0 );

// bron 6
	formatex( szText, charsmax( szText ), "%L", id, "gsshop_ITEM_6", get_pcvar_num( gFivesevenCost ) );
	menu_additem( menu, szText, "6", 0 );
	
	menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
	
	menu_display( id, menu, 0 );

	return PLUGIN_CONTINUE;
}

public shop_handler( id, menu, item )
{

	if( item == MENU_EXIT )
	{
		menu_destroy( menu );
		return PLUGIN_HANDLED;
	}
	

	new data[ 6 ], iName[ 64 ], access, callback;
	menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
	new kasa = cs_get_user_money_ul(id);
	new key = str_to_num( data );
	
	switch( key )
	{
		//bron 1
		case 1:
		{
			if( HasDeagle[ id ] || user_has_weapon( id, CSW_DEAGLE ) )
			{
				allready_have( id );
				return PLUGIN_HANDLED;
			}
		
			if( kasa < get_pcvar_num( gDeagleCost ) )
			{
				dont_have( id );
				return PLUGIN_HANDLED;
			}
			
			strip_user_weapons( id );
			give_item( id, "weapon_knife" );
			give_item( id, "weapon_deagle" );
			
			client_print( id, print_chat, "[gsshop] %L", id, "gsshop_DEAGLE_ITEM" );
			HasDeagle[ id ] = true;
			
			cs_set_user_money_ul(id, kasa - get_pcvar_num( gDeagleCost ));
			emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
			menu_display( id, menu, 1 );
		}
		
		//bron 2
		case 2:
		{

			if( HasP228[ id ] || user_has_weapon( id, CSW_P228 ) )
			{
				allready_have( id );
				return PLUGIN_HANDLED;
			}
		

			if( kasa < get_pcvar_num( gP228Cost ) )
			{
				dont_have( id );
				return PLUGIN_HANDLED;
			}
			
 
			strip_user_weapons( id );
			give_item( id, "weapon_knife" );
			give_item( id, "weapon_p228" );
			
			client_print( id, print_chat, "[gsshop] %L", id, "gsshop_p228_ITEM" );
			HasP228[ id ] = true;
			
			cs_set_user_money_ul(id, kasa - get_pcvar_num( gP228Cost ));
			emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
			menu_display( id, menu, 1 );
		}
		//bron 3
		case 3:
		{

			if( HasP228[ id ] || user_has_weapon( id, CSW_P228 ) )
			{
				allready_have( id );
				return PLUGIN_HANDLED;
			}
		

			if( kasa < get_pcvar_num( gP228Cost ) )
			{
				dont_have( id );
				return PLUGIN_HANDLED;
			}
			
 
			strip_user_weapons( id );
			give_item( id, "weapon_knife" );
			give_item( id, "weapon_p228" );
			
			client_print( id, print_chat, "[gsshop] %L", id, "gsshop_p228_ITEM" );
			HasP228[ id ] = true;
			
			cs_set_user_money_ul(id, kasa - get_pcvar_num( gP228Cost ));
			emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
			menu_display( id, menu, 1 );
		}
		//bron 4
		case 4:
		{

			if( HasP228[ id ] || user_has_weapon( id, CSW_P228 ) )
			{
				allready_have( id );
				return PLUGIN_HANDLED;
			}
		

			if( kasa < get_pcvar_num( gP228Cost ) )
			{
				dont_have( id );
				return PLUGIN_HANDLED;
			}
			
 
			strip_user_weapons( id );
			give_item( id, "weapon_knife" );
			give_item( id, "weapon_p228" );
			
			client_print( id, print_chat, "[gsshop] %L", id, "gsshop_p228_ITEM" );
			HasP228[ id ] = true;
			
			cs_set_user_money_ul(id, kasa - get_pcvar_num( gP228Cost ));
			emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
			menu_display( id, menu, 1 );
		}
		//bron 5
		case 5:
		{

			if( HasP228[ id ] || user_has_weapon( id, CSW_P228 ) )
			{
				allready_have( id );
				return PLUGIN_HANDLED;
			}
		

			if( kasa < get_pcvar_num( gP228Cost ) )
			{
				dont_have( id );
				return PLUGIN_HANDLED;
			}
			
 
			strip_user_weapons( id );
			give_item( id, "weapon_knife" );
			give_item( id, "weapon_p228" );
			
			client_print( id, print_chat, "[gsshop] %L", id, "gsshop_p228_ITEM" );
			HasP228[ id ] = true;
			
			cs_set_user_money_ul(id, kasa - get_pcvar_num( gP228Cost ));
			emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
			menu_display( id, menu, 1 );
		}
		//bron 6
		case 6:
		{

			if( HasP228[ id ] || user_has_weapon( id, CSW_P228 ) )
			{
				allready_have( id );
				return PLUGIN_HANDLED;
			}
		

			if( kasa < get_pcvar_num( gP228Cost ) )
			{
				dont_have( id );
				return PLUGIN_HANDLED;
			}
			
 
			strip_user_weapons( id );
			give_item( id, "weapon_knife" );
			give_item( id, "weapon_p228" );
			
			client_print( id, print_chat, "[gsshop] %L", id, "gsshop_p228_ITEM" );
			HasP228[ id ] = true;
			
			cs_set_user_money_ul(id, kasa - get_pcvar_num( gP228Cost ));
			emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
			menu_display( id, menu, 1 );
		}
	}
	
	return PLUGIN_HANDLED;
}	


public ShowPlayerInfo( id )
{
	set_hudmessage( 255, 200, 0, -1.0, 0.82, 0, 6.0, 12.0 );
	show_hudmessage( id, "%L", id, "gsshop_HUD_INFO" );
}
		
public logevent_round_start()
{
	if( get_pcvar_num( gGsShopOn ) == 1 )
	{
		new iPlayers[ 32 ], iNum, i, id;
		get_players( iPlayers, iNum, "c" );
		
		for( i = 0; i < iNum; i++ )
		{
			id = iPlayers[ i ];
			
			HasDeagle[ id ] = false;
			HasP228[ id ] = false;
			HasElite[ id ] = false;
			HasGalil[ id ] = false;
			HasFamas[ id ] = false;
			HasFiveseven[ id ] = false;
			remove_task( id );
		}
	}
}

public Hook_Deathmessage()
{
	if( get_pcvar_num( gGsShopOn ) == 1 )
	{
		new killer = read_data( 1 );
		new victim = read_data( 2 );

		if( killer == victim )
		{
			return PLUGIN_HANDLED;
		}	
		HasDeagle[ victim ] = false;
		HasP228[ victim ] = false;
		HasElite[ victim ] = false;
		HasGalil[ victim ] = false;
		HasFamas[ victim ] = false;
		HasFiveseven[ victim ] = false;
		remove_task( victim );
	}
	
	return PLUGIN_CONTINUE;
}

stock allready_have( id )
{
	client_print( id, print_chat, "[gsshop] %L", id, "gsshop_ALLREADY_HAVE" );
}	

stock dont_have( id )
{
	client_print( id, print_chat, "[gsshop] %L", id, "gsshop_DONTHAVE_POINTS" );
}	

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

  • +
  • -
  • 0

#2 ogieR8

    Wszechmogący

  • Power User

Reputacja: 203
Profesjonalista

  • Postów:641
  • Imię:Mariusz
  • Lokalizacja:Ruda Śląska
Offline

Napisano 02.01.2015 20:18

Nie mam czasu analizować, ale dla pewności.. 

"gun_shop"

wpisałeś tego CVARa z wartością inną niż "1" do amxx.cfg ? Wpisując komendę - żyłeś ? ;)


  • +
  • -
  • 1

Irytuje mnie nieczytelny kod, jeśli oczekujesz ode mnie pomocy - zmień to !


#3 Jcr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -3
Nowy

  • Postów:69
  • Lokalizacja:Wroclaw
Offline

Napisano 02.01.2015 20:39

Żyłem, wpisane było 1, gdyby była inna wartość powinien zwrócić wiadomość, że gunshop jest wyłączony

Gdy wpisywałem 0, to też nie wyświetlał się właśnie taki tekst, że jest wyłączony, a powinien, tak jakby plugin w ogóle nie widział, że wpisuje się /gunshop


Użytkownik Jcr edytował ten post 02.01.2015 20:44

  • +
  • -
  • 0

#4 ogieR8

    Wszechmogący

  • Power User

Reputacja: 203
Profesjonalista

  • Postów:641
  • Imię:Mariusz
  • Lokalizacja:Ruda Śląska
Offline

Napisano 02.01.2015 20:55

A cokolwiek działa ? Sprawdź czy masz go w liście pluginów do wyłączenia (taka możliwość) i ew. sprawdź logi, powinno Cie nimi zasypać w takim razie. Chyba.. że masz inny plik, który blokuje wiadomości na say zaczynające się od "/" <- standardowo sa to komendy ;) Nie wiem, różne założenia.


  • +
  • -
  • 1

Irytuje mnie nieczytelny kod, jeśli oczekujesz ode mnie pomocy - zmień to !


#5 Jcr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -3
Nowy

  • Postów:69
  • Lokalizacja:Wroclaw
Offline

Napisano 02.01.2015 21:00

/drshop działa więc to nie jest żadne blokowanie wiadomości

Plugin jest na liscie, normalnie jest włączony

Logi już paczam

// logi czyste :3


Użytkownik Jcr edytował ten post 02.01.2015 21:01

  • +
  • -
  • 0

#6 ogieR8

    Wszechmogący

  • Power User

Reputacja: 203
Profesjonalista

  • Postów:641
  • Imię:Mariusz
  • Lokalizacja:Ruda Śląska
Offline

Napisano 02.01.2015 21:10


/drshop działa więc to nie jest żadne blokowanie wiadomości

 

Nie koniecznie, zależy od kolejności na plugins.ini


  • +
  • -
  • 1

Irytuje mnie nieczytelny kod, jeśli oczekujesz ode mnie pomocy - zmień to !


#7 Jcr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -3
Nowy

  • Postów:69
  • Lokalizacja:Wroclaw
Offline

Napisano 02.01.2015 21:13

Gunshop jest zaraz nad drshopem

Próbowałem godawać na samą górę i na sam dół ale bez różnicy

Tak jakby to:

     register_clcmd( "say /gunshop", "GunShop" );

Nie chciało wywołać tego:

     public GunShop( id )

 


  • +
  • -
  • 0

#8 ogieR8

    Wszechmogący

  • Power User

Reputacja: 203
Profesjonalista

  • Postów:641
  • Imię:Mariusz
  • Lokalizacja:Ruda Śląska
Offline

Napisano 02.01.2015 21:14   Najlepsza odpowiedź

new gMsgItemPickup
gMsgItemPickup = get_user_msgid( "ItemPickup" );
register_event( "CurWeapon", "HookCurWeapon", "be", "1=1" );
RegisterHam( Ham_Player_Jump, "player", "bacon_playerJumping" );

i wiele innych, których nie powinno tutaj być. Tworzysz zmienne, przydzielasz im 'wartość', ale nie korzystasz z nich. Łapiesz wydarzenia, a potem nie odwołujesz się do nich w kodzie, usuń to co zbędne. Może się zdziwisz, gdy skończysz ;)

 

Masz tutaj troszkę nieco ułożony kod http://wklej.to/rHKkl - czytelniejszy na pewno.


  • +
  • -
  • 1

Irytuje mnie nieczytelny kod, jeśli oczekujesz ode mnie pomocy - zmień to !


#9 Jcr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -3
Nowy

  • Postów:69
  • Lokalizacja:Wroclaw
Offline

Napisano 02.01.2015 21:29

dzięki za ułożenie kodu, dizsijaj już nie moge go prezkompilować bo jestem na lapku, jutro jeszcze go uprzątne i dam znać :)


  • +
  • -
  • 0

#10 Jcr

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -3
Nowy

  • Postów:69
  • Lokalizacja:Wroclaw
Offline

Napisano 02.01.2015 22:34

Pousuwałem pierdoły, przekompilowałem i menu działa :)
Zostało mi jeszcze naprawienie multilanguage bo nie widzi :)

 

 

Okej już sobie wszystko naprawiłem, wielkie dzięki za pomoc! :)


Użytkownik Jcr edytował ten post 02.01.2015 23:03

  • +
  • -
  • 0

#11 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 03.01.2015 08:34

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !






Również z jednym lub większą ilością słów kluczowych: gunshop, drshop, menu, plugin

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

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