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

Worki


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

#1 Slugger

    Wszechobecny

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:406
  • GG:
  • Lokalizacja:Piła
Offline

Napisano 02.06.2009 11:10

Witam :help:

Czy ktoś może mi powiedzieć dlaczego ten plugin nie chce działać?

/* AMXX PLUGIN

    Pallets with Bags  
     Version : 0.3c
     Author : SAMURAI

Have a nice day now
*/

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <xs>

#define PLUGIN_NAME 	"Pallets with Bags"
#define PLUGIN_VERSION  "0.3c"
#define PLUGIN_AUTHOR   "SAMURAI"

// The sizes of models
#define PALLET_MINS Float:{ -27.260000, -22.280001, -22.290001 }
#define PALLET_MAXS Float:{  27.340000,  26.629999,  29.020000 }


// from fakemeta util by VEN
#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_remove_entity(%1) engfunc(EngFunc_RemoveEntity, %1)
// this is mine
#define fm_drop_to_floor(%1) engfunc(EngFunc_DropToFloor,%1)

// cvars
new pnumplugin, remove_nrnd, maxpallets, phealth;

// num of pallets with bags
new palletscout = 0;

/* Models for pallets with bags .
  Are available 2 models, will be set a random of them  */
new g_models[][] =
{
	"models/pallet_with_bags.mdl",
	"models/pallet_with_bags2.mdl"
}

new g_class[] = "amxx_pallets";

/*************************************************************
************************* AMXX PLUGIN *************************
**************************************************************/

public plugin_init() 
{
	/* Register the plugin */
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	
	/* Register the cvars */
	pnumplugin = register_cvar("pallets_wbags","1"); // 1 = ON ; 0 = OFF
	remove_nrnd = register_cvar("pallets_wbags_nroundrem","0");
	maxpallets = register_cvar("pallets_wbags_max","64"); // max number of pallets with bags
	phealth = register_cvar("pallets_wbags_health","0"); // set the health to a pallet with bags
	
	/* Game Events */
	register_event("HLTV","event_newround", "a","1=0", "2=0"); // it's called every on new round
	
	/* This is for menuz: */
	register_menucmd(register_menuid("yPallets with Bags:"), 1023, "menu_command" );
	register_clcmd("say pallets_menu","show_the_menu",ADMIN_RCON,"Open the Pallets with Bags menu");
}


public plugin_precache()
{
	for(new i;i < sizeof g_models;i++)
		engfunc(EngFunc_PrecacheModel,g_models[i]);
}

public show_the_menu(id,level,cid)
{
	// check if user doesen't have admin 
	if( ! cmd_access( id,level, cid , 0 ))
		return PLUGIN_HANDLED;
		
	// check if the plugin cvar is turned off
	if( ! get_pcvar_num( pnumplugin ) )
		return PLUGIN_HANDLED;
		
		
	// check if user isn't alive
	if( ! is_user_alive( id ) )
	{
		client_print( id, print_chat, "[PE] Nie mozesz postawic workow, poniewaz nie zyjesz!" );
		return PLUGIN_HANDLED;
	}
			
			
	new szMenuBody[256];
	new keys;
	
	new nLen = format( szMenuBody, 255, "y[PE] Worki:^n" );
	nLen += format( szMenuBody[nLen], 255-nLen, "^nw1. Poloz worek" );
	nLen += format( szMenuBody[nLen], 255-nLen, "^nw2. Usun dany worek" );
	nLen += format( szMenuBody[nLen], 255-nLen, "^nw3. Usun wszystkie worki z serwera" );
	nLen += format( szMenuBody[nLen], 255-nLen, "^nw4. Zapisz postawione worki" );
	nLen += format( szMenuBody[nLen], 255-nLen, "^n^nw0. Wyjdz" );

	keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<9)

	show_menu( id, keys, szMenuBody, -1 );

	// depends what you want, if is continue will appear on chat what the admin sayd
	return PLUGIN_HANDLED;
}

public plugin_cfg()
{
	static sConfigsDir[256], sFile[256], PalletDir[256];
	
	get_configsdir(sConfigsDir, sizeof sConfigsDir - 1);
	
	static sMapName[32];
	get_mapname(sMapName, sizeof sMapName - 1);
	
	formatex(PalletDir, sizeof PalletDir - 1,"%s/Pallets with Bags",sConfigsDir);
	formatex(sFile, sizeof sFile - 1, "%s/%s_pallets_with_bags.cfg",PalletDir,sMapName);
	
	//formatex(sFile, sizeof sFile - 1, "%s/%s_pallets_with_bags.cfg", sConfigsDir, sMapName);
	
	
	if(!dir_exists(PalletDir))
	{
		mkdir(PalletDir);
	}
	
	if(!file_exists(sFile))
	{
		write_file(sFile,"");
	}
	
	static sFileOrigin[3][32], sFileAngles[3][32], iLine, iLength, sBuffer[256];
	static sTemp1[128], sTemp2[128];
	static Float:fOrigin[3], Float:fAngles[3];
	
	while(read_file(sFile, iLine++, sBuffer, sizeof sBuffer - 1, iLength))
	{
		if((sBuffer[0]==';') || !iLength)
			continue;
		
		strtok(sBuffer, sTemp1, sizeof sTemp1 - 1, sTemp2, sizeof sTemp2 - 1, '|', 0);
		
		parse(sTemp1, sFileOrigin[0], sizeof sFileOrigin[] - 1, sFileOrigin[1], sizeof sFileOrigin[] - 1, sFileOrigin[2], sizeof sFileOrigin[] - 1);
		
		fOrigin[0] = str_to_float(sFileOrigin[0]);
		fOrigin[1] = str_to_float(sFileOrigin[1]);
		fOrigin[2] = str_to_float(sFileOrigin[2]);
		
		parse(sTemp2, sFileAngles[0], sizeof sFileAngles[] - 1, sFileAngles[1], sizeof sFileAngles[] - 1, sFileAngles[2], sizeof sFileAngles[] - 1);
		
		fAngles[0] = str_to_float(sFileAngles[0]);
		fAngles[1] = str_to_float(sFileAngles[1]);
		fAngles[2] = str_to_float(sFileAngles[2]);
		
		
		/////////////////////////////////////////////////////////////////////
		
		if( palletscout == get_pcvar_num(maxpallets) )
		{
			server_print("Can't be placed more than %d pallets with bags",get_pcvar_num(maxpallets));
			return 0;
		}
		
		new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "func_wall"));
		
		engfunc(EngFunc_SetOrigin, ent, fOrigin);
		
		if(!ent)
			return 0;
		
		engfunc(EngFunc_SetModel,ent,g_models[random(sizeof g_models)]);
		
		set_pev(ent,pev_classname,g_class);
		
		dllfunc(DLLFunc_Spawn, ent);
		
		set_pev(ent,pev_solid,SOLID_BBOX);
		
		// set the movetype
		set_pev(ent,pev_movetype,MOVETYPE_FLY); // no gravity, but still collides with stuff
		
		// set sizes
		static Float:p_mins[3], Float:p_maxs[3];
		p_mins = PALLET_MINS;
		p_maxs = PALLET_MAXS;
		engfunc(EngFunc_SetSize, ent, p_mins, p_maxs);
		set_pev(ent, pev_mins, p_mins);
		set_pev(ent, pev_maxs, p_maxs );
		set_pev(ent, pev_absmin, p_mins);
		set_pev(ent, pev_absmax, p_maxs );
	
		// now the damage stuff, to set to take it or no
		// if you set the cvar "pallets_wbags_health" 0, you can't destroy a pallet with bags
		// else, if you want to make it destroyable, just set the health > 0 and will be
		// destroyable.
		new Float:p_cvar_health = get_pcvar_float(phealth);
		
		switch(p_cvar_health)
		{
			case 0.0 :
			{
				set_pev(ent,pev_takedamage,DAMAGE_NO);
			}
		
			default :
			{
				set_pev(ent,pev_health,p_cvar_health);
				set_pev(ent,pev_takedamage,DAMAGE_YES);
			}
		}
	
		set_pev(ent,pev_angles,fAngles);
		
		// drop entity to floor
		fm_drop_to_floor(ent);
	
		// num ..
		palletscout++;
		
		
	}
	
	return 1;
	
}


public menu_command(id,key,level,cid)
{
	switch( key )
	{
		// place a pallet with bags
		case 0: 
		{
				place_palletwbags(id);
				show_the_menu(id,level,cid);
		}
		
		// remove a pallet with bags
		case 1:
		{
			new ent, body, class[32];
			get_user_aiming(id, ent, body);
			
			if (pev_valid(ent)) 
			{
				pev(ent, pev_classname, class, 31);
				
				if (equal(class, g_class)) 
				{
					fm_remove_entity(ent);
					palletscout--;
				}
				
				else
					client_print(id, print_chat, "[AMXX] You are not aiming at a pallet with bags");
			}
			else
				client_print(id, print_chat, "[AMXX] You are not aiming at a valid entity !");
				
			show_the_menu(id,level,cid);
		}
		
		// remove all pallets with bags
		case 2:
		{
			remove_allpalletswbags();
			client_print(id,print_chat,"[AMXX] You removed all pallets with bags !");
			show_the_menu(id,level,cid);
		}
		
		
		// save origins
		case 3:
		{
			static sConfigsDir[256], sFile[256], PalletDir[256];
	
			get_configsdir(sConfigsDir, sizeof sConfigsDir - 1);
	
			static sMapName[32];
			get_mapname(sMapName, sizeof sMapName - 1);
	
			formatex(PalletDir, sizeof PalletDir - 1,"%s/Pallets with Bags",sConfigsDir);
			formatex(sFile, sizeof sFile - 1, "%s/%s_pallets_with_bags.cfg",PalletDir,sMapName);
		
			if(file_exists(sFile))
				delete_file(sFile);
	
			new iEnt = -1, Float:fEntOrigin[3], Float:fEntAngles[3], iCount;
			static sBuffer[256];
	
			while((iEnt = engfunc(EngFunc_FindEntityByString, iEnt, "classname", g_class)))
			{
				pev(iEnt, pev_origin, fEntOrigin);
				pev(iEnt, pev_angles, fEntAngles);
		
				formatex(sBuffer, sizeof sBuffer - 1, "%f %f %f | %f %f %f", fEntOrigin[0], fEntOrigin[1], fEntOrigin[2], fEntAngles[0], fEntAngles[1], fEntAngles[2]);
		
				write_file(sFile, sBuffer, -1);
		
				iCount++;
			}
		
			client_print(id, print_chat, "[AMXX] Successfuly saved all pallets with bags origins (%d) for map %s!", iCount,sMapName);
			
			show_the_menu(id,level,cid);
			
		}
	}
	
	return PLUGIN_HANDLED;
}



public place_palletwbags(id)
{
	
	if( palletscout == get_pcvar_num(maxpallets) )
	{
		client_print(id,print_chat,"You can't place more than %d pallets with bags",get_pcvar_num(maxpallets));
		return PLUGIN_HANDLED;
	}
	
	// create a new entity 
	new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "func_wall"));
	
	
	// set a name to the entity
	set_pev(ent,pev_classname,g_class);
	
	// set model		
	engfunc(EngFunc_SetModel,ent,g_models[random(sizeof g_models)]);
	
	// register a new var. for origin
	static Float:xorigin[3];
	get_user_hitpoint(id,xorigin);
	
	
	// check if user is aiming at the air 
	if(engfunc(EngFunc_PointContents,xorigin) == CONTENTS_SKY)
	{
		client_print(id,print_chat,"[AMXX] You can't place a pallet with bags on the air");
		return PLUGIN_HANDLED;
	}
	
	
	// set sizes
	static Float:p_mins[3], Float:p_maxs[3];
	p_mins = PALLET_MINS;
	p_maxs = PALLET_MAXS;
	engfunc(EngFunc_SetSize, ent, p_mins, p_maxs);
	set_pev(ent, pev_mins, p_mins);
	set_pev(ent, pev_maxs, p_maxs );
	set_pev(ent, pev_absmin, p_mins);
	set_pev(ent, pev_absmax, p_maxs );

	
	// set the rock of origin where is user placed
	engfunc(EngFunc_SetOrigin, ent, xorigin);
	
	
	// make the rock solid
	set_pev(ent,pev_solid,SOLID_BBOX); // touch on edge, block
	
	// set the movetype
	set_pev(ent,pev_movetype,MOVETYPE_FLY); // no gravity, but still collides with stuff
	
	// now the damage stuff, to set to take it or no
	// if you set the cvar "pallets_wbags_health" 0, you can't destroy a pallet with bags
	// else, if you want to make it destroyable, just set the health > 0 and will be
	// destroyable.
	new Float:p_cvar_health = get_pcvar_float(phealth);
	switch(p_cvar_health)
	{
		case 0.0 :
		{
			set_pev(ent,pev_takedamage,DAMAGE_NO);
		}
		
		default :
		{
			set_pev(ent,pev_health,p_cvar_health);
			set_pev(ent,pev_takedamage,DAMAGE_YES);
		}
	}
	
			
	static Float:rvec[3];
	pev(id,pev_v_angle,rvec);
	
	rvec[0] = 0.0;
	
	set_pev(ent,pev_angles,rvec);
	
	// drop entity to floor
	fm_drop_to_floor(ent);
	
	// num ..
	palletscout++;
	
	// confirm message
	client_print(id,print_chat,"[AMXX] You placed a Pallet with Bags !");
	
	return PLUGIN_HANDLED;
}
	
/* ====================================================
get_user_hitpoin stock . Was maked by P34nut, and is 
like get_user_aiming but is with floats and better <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/ohmy.gif' class='bbc_emoticon' alt=':o' />
====================================================*/	
stock get_user_hitpoint(id, Float:hOrigin[3]) 
{
	if ( ! is_user_alive( id ))
		return 0;
    
	new Float:fOrigin[3], Float:fvAngle[3], Float:fvOffset[3], Float:fvOrigin[3], Float:feOrigin[3];
	new Float:fTemp[3];
    
	pev(id, pev_origin, fOrigin);
	pev(id, pev_v_angle, fvAngle);
	pev(id, pev_view_ofs, fvOffset);
    
	xs_vec_add(fOrigin, fvOffset, fvOrigin);
    
	engfunc(EngFunc_AngleVectors, fvAngle, feOrigin, fTemp, fTemp);
    
	xs_vec_mul_scalar(feOrigin, 9999.9, feOrigin);
	xs_vec_add(fvOrigin, feOrigin, feOrigin);
    
	engfunc(EngFunc_TraceLine, fvOrigin, feOrigin, 0, id);
	global_get(glb_trace_endpos, hOrigin);
    
	return 1;
} 


/* ====================================================
This is called on every round, at start up,
with HLTV logevent. So if the "pallets_wbags_nroundrem"
cvar is set to 1, all placed pallets with bags will be
removed.
====================================================*/
public event_newround()
{
	if( get_pcvar_num ( remove_nrnd ) == 1)
		remove_allpalletswbags();
		
}


/* ====================================================
This is a stock to help for remove all pallets with
bags placed . Is called on new round if the cvar
"pallets_wbags_nroundrem" is set 1.
====================================================*/
stock remove_allpalletswbags()
{
	new pallets = -1;
	while((pallets = fm_find_ent_by_class(pallets, g_class)))
		fm_remove_entity(pallets);
		
	palletscout = 0;
}




Z góry dziękuję. :>
  • +
  • -
  • 0

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 02.06.2009 11:52

Czy ktoś może mi powiedzieć dlaczego ten plugin nie chce działać?

a możesz powiedzieć co rozumiesz pod pojęciem "nie chce działać" ?
w amx_plugins widać błąd, nie działają komendy, w error.log'u jakieś błędy ?
  • +
  • -
  • 0

#3 Slugger

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:406
  • GG:
  • Lokalizacja:Piła
Offline

Napisano 02.06.2009 12:22

Wpisuje /worki ukazuje się menu i jak naciskam 1 zeby postawic worek to menu znika i worka nie widac...

A w konsoli pokazuje się informacja:
Nieznana komenda: -dellaser

A w errorach nic nie ma...
  • +
  • -
  • 0

#4 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 02.06.2009 12:42

no to masz problem bo w tym kodzie nie ma nic o "-dellaser"
sprawdź lepiej swoje bindy(config.cfg) czy pod klawiszem 1 nie masz właśnie -dellaser
  • +
  • -
  • 0

#5 Slugger

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:406
  • GG:
  • Lokalizacja:Piła
Offline

Napisano 02.06.2009 13:40

Nie mam

PS: Może sie gryzie z jakimś pluginem?
PSS: Lub wymaga pluginu bo takie same worki były na jednym z zombiemodów na ktorych grałem...

PSSS: Nie mam żadnych bindów pod 1,2,3,4,5,6,7,8,9...

PS: Tylko slot1, slot2, slot3...
  • +
  • -
  • 0

#6 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 02.06.2009 13:53

dellaser jest w http://forums.allied...ad.php?p=221113
ale jakbyś miał ten plugin to raczej nie było by "Nieznana komenda"
  • +
  • -
  • 0

#7 Slugger

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:406
  • GG:
  • Lokalizacja:Piła
Offline

Napisano 02.06.2009 14:08

Nie, nie mam tego pluginu.


; AMX Mod X plugins

; Admin Base - Always one has to be activated
admin.amxx		; admin base (required for any admin-related)
;admin_sql.amxx		; admin base - SQL version (comment admin.amxx)

; Basic
admincmd.amxx		; basic admin console commands
adminhelp.amxx		; help command for admin console commands
adminslots.amxx		; slot reservation
multilingual.amxx	; Multi-Lingual management
amx_super.amxx		; AMX Super
amx_super_menu.amxx	; AMX Super menu

; Menus
menufront.amxx		; front-end for admin menus
cmdmenu.amxx		; command menu (speech, settings)
teammenu_nokill.amxx	;
ReasonKicker.amxx	; Kick? cos jak minibans <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/naughty.gif' class='bbc_emoticon' alt='^^' />
plmenu.amxx		; players menu (kick, ban, client cmds.)
telemenu.amxx		; teleport menu (Fun Module required!)
mapsmenu.amxx		; maps menu (vote, changelevel)
pluginmenu.amxx		; Menus for commands/cvars organized by plugin

; Chat / Messages
adminchat.amxx		; console chat commands
antiflood.amxx		; prevent clients from chat-flooding the server
scrollmsg.amxx		; displays a scrolling message
imessage.amxx		; displays information messages
adminvote.amxx		; vote commands

; Map related
nextmap.amxx		; displays next map in mapcycle
mapchooser.amxx		; allows to vote for next map
timeleft.amxx		; displays time left on map

; Configuration
pausecfg.amxx		; allows to pause and unpause some plugins
statscfg.amxx		; allows to manage stats plugins via menu and commands

; Counter-Strike
restmenu.amxx		; restrict weapons menu
statsx.amxx		; stats on death or round end (CSX Module required!)
;miscstats.amxx		; bunch of events announcement for Counter-Strike
;stats_logging.amxx	; weapons stats logging (CSX Module required!)

; Enable to use AMX Mod plugins
;amxmod_compat.amxx	; AMX Mod backwards compatibility layer

; Custom - Add 3rd party plugins here
blind_bonus.amxx		; Za zabicie oslepionego gracza, dostaje sie nagrode.
speed_api.amxx			; Nanosuit
nanosuit_advanced.amxx		; Nanosuit
day_light.amxx			; Plugin pozwala rozjaśnić lub ściemnić mapę , bardzo przydatne na serwer zmi mod . amx_light "X"   1/26
mini_bans.amxx			; Mini bans
afkkisss.amxx			; Wywala afk
bomba_explode_sound.amxx	; Dzwie kprzed wybuchem bomby
ad_manager.amxx			; Reklama w sayu
VIPpart1.amxx			; V.I.P
VIPpart2.amxx			; V.I.P
GHW_Weapon_Replacement.amxx	; Dzięki temu pluginowi możemy podmienić model ( np. nożna ) / dźwięk na serwerze.   http://amxx.pl/viewtopic.php?t=1720
;Deathrun_Shop.amxx		; Sklep DR http://amxx.pl/viewtopic.php?t=10731
ptb.amxx			; http://amxx.pl/viewtopic.php?t=5020
Welcomed.amxx			; Siema ziomus 
weaponstorage.amxx		; Bronie na ziemi sobie leza http://amxx.pl/viewtopic.php?t=1608
polski_cs.amxx			; chyba wiadomo <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/naughty.gif' class='bbc_emoticon' alt='^^' />
breakable_doors.amxx		; ro***erdala drzwi
hsonly.amxx			; zabic tylko hs
backweapons.amxx		; bronie na plecach
ultimate_sounds_PL.amxx		; pl sound
do_you_hear.amxx		; malo hp i bije serducho
sillyc4.amxx			; przyklejami pake do sciany
prometheus.amxx			; mondre hosty
X-Kills.amxx			; 2 hs
amx_heconc.amxx			; jak wy***rdoli granat to leciz do nie ba
amx_plant_bonus.amxx		; **** wi co to
amx_gasnades.amxx		; gas i duszenie
weaponicon.amxx			
descriptive_fire_in_the_hole.amxx	; Polskie napisy granatow
viewmode_v3a.amxx		
akceptacja.amxx			
runplanting.amxx          	; Bieganie podczas podkładania bomby
advanced_slowmo.amxx

stickynades.amxx
;GHW_Blood_Color.amxx		;amx_bloodcolors - wyświetla się paleta kolorów w MOTD   glupie kolorowe plamy gdy sie strzela w postac
nervous_hostages.amxx		; hostage gadaja
night_day.amxx			; Noc i dzien...
customflashlight.amxx		; kolorowe latarki ktore swieca daleko
weapon_lights_beta.amxx		; kolorwy ogien z lufy
alt_end_round_sounds.amxx	; Muzyka na koniec rundy
flare.amxx			; flara
custom_nvg.amxx			; kolorowy noktowizor ktory dziala tak jak kolorowe latarki
pallets_wbags.amxx		; Worki, by Polish Expess pallets_menu   /   /worki
E-M4.amxx 			; nowa bron /buyswm4 - kup e-m4            amx_sw_m4 <nick> - daj danemu graczowi[code][/code]

  • +
  • -
  • 0




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

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