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

Error log (kolejny plugin)


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

#1 Wiewiorek

    Wszechobecny

  • Zbanowany

Reputacja: 1
Nowy

  • Postów:438
  • Lokalizacja:Wawa
Offline

Napisano 29.10.2009 16:43

Witam
mam problem taki sam jak wczesniej moj temat "Error logi" mianowicie crashuje mi sie server przez taki plugin czy ktos moglby mi go tak przerobic zeby wszsytko ladnie chodzilo??

Error log
L 10/29/2009 - 15:33:39: Start of error session.
L 10/29/2009 - 15:33:39: Info (map "deathrun_bytun2") (file "addons/amxmodx/logs/error_20091029.log")
L 10/29/2009 - 15:33:39: [AMXX] Displaying debug trace (plugin "hns_shop.amxx")
L 10/29/2009 - 15:33:39: [AMXX] Run time error 4: index out of bounds 
L 10/29/2009 - 15:33:39: [AMXX]    [0] textdFfj4y.sma::ColorChat (line 859)
L 10/29/2009 - 15:33:39: [AMXX]    [1] textdFfj4y.sma::remove_gravity (line 580)
L 10/29/2009 - 15:41:02: [AMXX] Displaying debug trace (plugin "hns_shop.amxx")
L 10/29/2009 - 15:41:02: [AMXX] Run time error 4: index out of bounds 
L 10/29/2009 - 15:41:02: [AMXX]    [0] textdFfj4y.sma::ColorChat (line 859)
L 10/29/2009 - 15:41:02: [AMXX]    [1] textdFfj4y.sma::remove_gravity (line 580)




PLIK SMA
#include <amxmodx>
#include <fakemeta>

#pragma semicolon 1

/* Sklep Ganiany
 *    by xPaw & Grim
 * 
 *  Credits:
 *    Grim - for original code/Godmode Key actviation - added pcvars
 *    Ven  - His tutorial for Player Spawn
 */

#define VERSION "2.0"

#define fm_get_user_money(%1)	get_pdata_int( %1, 115 )
#define fm_create_entity(%1)	engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))

#define MAX_CLIENTS 32

enum Color {
	NORMAL = 1,	// clients scr_concolor cvar color
	GREEN,		// Green
	TEAM_COLOR,	// Red, grey, blue
	GREY,		// grey
	RED,		// Red
	BLUE,		// Blue
};

new TeamName[][] = {
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
};
	

// Pcvars
new plugin_on, silentcost, stealthcost, noflashcost, hpcost, armorcost, grenadecost, gravitycost, speedcost, godmodecost;
new allowsilent, allowstealth, allownoflash, allowhp, allowarmor, allowgrenade, allowgravity, allowspeed, allowgodmode;
new usersilent[33], userstealth[33], usernoflash[33], userhp[33], userarmor[33], usergrenade[33], usergravity[33], userspeed[33];
new hpcvar, armorcvar, menu, hasspeed[33], hassilent[33], gotgodmode[33], hasgodmode[33], mess[33], mess2[33];
new g_msgScreenFade, g_msgMoney, grenade[32], last;

new Float:g_gametime, g_owner;
new Float:g_gametime2;

new bool:g_bPlayerNonSpawnEvent[MAX_CLIENTS + 1];
new bool:g_track_enemy;
new bool:g_track[33];

new g_iFwFmClientCommandPost;
new g_sync_check_data;

public plugin_init() {
	register_plugin("HnS Shop", VERSION, "xPaw & Grim");
	register_cvar("hns_shop_version", VERSION, FCVAR_SERVER);
	set_cvar_string("hns_shop_version", VERSION);

	// Player Spawn
	register_event("ResetHUD", "fwEvResetHUD", "b");
	register_event("TextMsg", "fwEvGameWillRestartIn", "a", "2=#Game_will_restart_in");
	register_clcmd("fullupdate", "fwCmdClFullupdate");

	// Events
	register_event("DeathMsg", "eDeath", "a");
	register_event("CurWeapon", "speed_on", "be");
	register_event("ScreenFade", "eventFlash", "be", "4=255", "5=255", "6=255", "7>199");
	register_event("TextMsg", "fire_in_the_hole", "b", "2&#Game_radio", "4&#Fire_in_the_hole");
	register_event("TextMsg", "fire_in_the_hole2", "b", "3&#Game_radio", "5&#Fire_in_the_hole");
	register_event("99", "grenade_throw", "b");

	// Pcvars
	plugin_on	= register_cvar("hns_shop", "1");
	silentcost	= register_cvar("hns_shop_silentcost",		"4500");
	stealthcost	= register_cvar("hns_shop_stealthcost",		"9500");
	noflashcost	= register_cvar("hns_shop_noflashcost",		"8000");
	grenadecost	= register_cvar("hns_shop_grenadecost",		"1500");
	gravitycost	= register_cvar("hns_shop_gravitycost",		"13000");
	speedcost	= register_cvar("hns_shop_speedcost",		"7000");
	hpcost		= register_cvar("hns_shop_hpcost",		"8000");
	armorcost	= register_cvar("hns_shop_armorcost",		"6000");
	godmodecost	= register_cvar("hns_shop_godmodecost",		"16000");
	hpcvar		= register_cvar("hns_shop_hpcvar",		"150");
	armorcvar	= register_cvar("hns_shop_armorcvar",		"150");
	allowsilent	= register_cvar("hns_shop_allowsilent",		"1");
	allowstealth	= register_cvar("hns_shop_allowstealth",	"1");
	allownoflash	= register_cvar("hns_shop_allownoflash",	"1");
	allowgrenade	= register_cvar("hns_shop_allowgrenade",	"1");
	allowgravity	= register_cvar("hns_shop_allowgravity",	"1");
	allowspeed	= register_cvar("hns_shop_allowspeed",		"1");
	allowhp		= register_cvar("hns_shop_allowhp",		"1");
	allowarmor	= register_cvar("hns_shop_allowarmor",		"1");
	allowgodmode	= register_cvar("hns_shop_allowgodmode",	"1");

	// Clcmds
	register_clcmd("say /hnsshop",	"show_hnsmenu");
	register_clcmd("say /shop",	"show_hnsmenu");
	register_clcmd("say hnsshop",	"show_hnsmenu");
	register_clcmd("say shop",	"show_hnsmenu");

	// Menu
	menu = register_menuid("Hide'n'Seek Shop");
	register_menucmd(menu, 1023, "hnsshop");
	
	// Forwards
	register_forward(FM_EmitSound,"fw_emitsound"); 
	register_forward(FM_CmdStart, "fwd_FM_CmdStart_pre", 0);
	

	// Tasks
	set_task( 2.0, "bad_fix2",_,_,_, "b" );
	set_task( 100.0, "advert",_,_,_, "b" );
	
	g_msgScreenFade = get_user_msgid("ScreenFade");
	g_msgMoney = get_user_msgid("Money");
}

public client_connect( id ) {
	usersilent[id]	= 0;
	userstealth[id]	= 0;
	usernoflash[id]	= 0;
	userhp[id]	= 0;
	userarmor[id]	= 0;
	usergrenade[id]	= 0;
	usergravity[id]	= 0;
	userspeed[id]	= 0;
	gotgodmode[id]	= 0;
	hasgodmode[id]	= 0;
	hasspeed[id]	= 0;
	hassilent[id]	= 0;
	mess[id]	= 0;
	mess2[id]	= 0;
}

public client_disconnect( id ) {
	usersilent[id]	= 0;
	userstealth[id]	= 0;
	usernoflash[id]	= 0;
	userhp[id]	= 0;
	userarmor[id]	= 0;
	usergrenade[id]	= 0;
	usergravity[id]	= 0;
	userspeed[id]	= 0;
	gotgodmode[id]	= 0;
	hasgodmode[id]	= 0;
	hasspeed[id]	= 0;
	hassilent[id]	= 0;
	mess[id]	= 0;
	mess2[id]	= 0;
} 

public speed_on( id )
	if(is_user_alive(id))
		if(hasspeed[id])
			fm_set_user_maxspeed(id, 320.0);

// Advert
public advert() {
	new g_Maxplayers;
	g_Maxplayers = get_maxplayers();
	
	for(new i=1; i<=g_Maxplayers; i++)
		if(is_user_connected(i))
			ColorChat(i, RED, "^x01[AMXX]^x04 This server is using^x03 Hide'n'Seek Shop^x04, Type^x03 /hnsshop^x04 or^x03 /shop");
}

public fwd_FM_CmdStart_pre( id, uc_handle, random_seed ) {
		if(!is_user_alive(id))
			return FMRES_IGNORED;
	
		if(hassilent[id] > 0)
			set_pev(id, pev_flTimeStepSound, 999);

		static button;
		button = get_uc(uc_handle, UC_Buttons);
		if(button & IN_RELOAD) {
			if(get_pcvar_num(allowgodmode) == 1)
				return FMRES_IGNORED;
			
			if(!gotgodmode[id]) {	
				if(!mess[id]) {
					ColorChat(id, RED, "^x04[Hide'n'Seek Shop]^x01 You need to buy godmode first!");
					mess[id]++;
					set_task(3.0, "remove_mess", id);
					return FMRES_IGNORED;
				}
				return FMRES_IGNORED;
			}
			
			if(hasgodmode[id] > 0) {
				if(!mess[id]) {
					ColorChat(id, RED, "^x04[Hide'n'Seek Shop]^x01 Your godmode is already activated!");
					mess[id]++;
					set_task(3.0, "remove_mess", id);
					return FMRES_IGNORED;
				}
				return FMRES_IGNORED;
			}
        
			gotgodmode[id] = 0;
			hasgodmode[id]++;
			fm_set_user_godmode(id, 1);
			if(get_user_team(id) == 1)
				fm_set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderTransAlpha, 255);
			else if(get_user_team(id) == 2)
				fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderTransAlpha, 255);
			
			set_task(5.0, "remove_godmode", id);
		
			if(!mess[id]) {
				ColorChat(id, RED, "^x04[Hide'n'Seek Shop]^x01 Your godmode is now active!");
				mess[id]++;
				set_task(3.0, "remove_mess", id);
			} 
			return FMRES_SUPERCEDE;
		} 
		return FMRES_IGNORED;
}


// User Spawn event
public fwEvResetHUD( id ) {
        if (!is_user_alive(id))
                return;
 
        if (g_bPlayerNonSpawnEvent[id]) {
                g_bPlayerNonSpawnEvent[id] = false;
                return;
        }
 
        fwPlayerSpawn(id);
}
 
public fwEvGameWillRestartIn() {
        static iPlayers[32], iPlayersNum, i;
        get_players(iPlayers, iPlayersNum, "a");
        for (i = 0; i < iPlayersNum; ++i)
                g_bPlayerNonSpawnEvent[iPlayers[i]] = true;
}
 
public fwCmdClFullupdate( id ) {
        g_bPlayerNonSpawnEvent[id] = true;
        static const szFwFmClientCommandPost[] = "fwFmClientCommandPost";
        g_iFwFmClientCommandPost = register_forward(FM_ClientCommand, szFwFmClientCommandPost, 1);
        return PLUGIN_CONTINUE;
}
 
public fwFmClientCommandPost( id ) {
        unregister_forward(FM_ClientCommand, g_iFwFmClientCommandPost, 1);
        g_bPlayerNonSpawnEvent[id] = false;
        return FMRES_HANDLED;
}
 
public fwPlayerSpawn( id ) {
	if(!is_user_alive(id))
		return PLUGIN_HANDLED;
	
	if(get_pcvar_num(plugin_on) == 1) {
		set_pev(id, pev_flTimeStepSound, 400);
		fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
		fm_set_user_health(id, 100);
		fm_set_user_armor(id, 0);
		fm_set_user_gravity(id, 1.0);
		usersilent[id]	= 0;
		userstealth[id]	= 0;
		usernoflash[id]	= 0;
		userhp[id]	= 0;
		userarmor[id]	= 0;
		usergrenade[id]	= 0;
		usergravity[id]	= 0;
		userspeed[id]	= 0;
		hassilent[id]	= 0;
	}
	return PLUGIN_HANDLED;
}  

// User Death event
public eDeath( id ) {
	new victem = read_data(2);
		
	usersilent[victem]	= 0;
	userstealth[victem]	= 0;
	usernoflash[victem]	= 0;
	userhp[victem]		= 0;
	userarmor[victem]	= 0;
	usergrenade[victem]	= 0; 
	usergravity[victem]	= 0;
	userspeed[victem]	= 0;
	hasspeed[victem]	= 0;
	hasgodmode[victem]	= 0;
	hassilent[victem]	= 0;
}

// Showing menu
public show_hnsmenu( id ) {
	if(get_pcvar_num(plugin_on) == 1) {
		new szBuffer[512], iLen;

		iLen = formatex(szBuffer, sizeof szBuffer - 1, "rHide'n'Seek Shopw^n^n");
		iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "r1. wSilent Walk - y%d$^n", get_pcvar_num(silentcost));
		iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "r2. wStealth r(20 seconds) - y%d$^n", get_pcvar_num(stealthcost));
		iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "r3. wNo Flash Blinding - y%d$^n", get_pcvar_num(noflashcost));
		iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "r4. w%d HP - y%d$^n", get_pcvar_num(hpcvar), get_pcvar_num(hpcost));
		iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "r5. w%d Armor - y%d$^n", get_pcvar_num(armorcvar), get_pcvar_num(armorcost));
		iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "r6. wHE Grenade - y%d$^n", get_pcvar_num(grenadecost));
		iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "r7. wGravity r(10 seconds) - y%d$^n", get_pcvar_num(gravitycost));   
		iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "r8. wFaster Speed r(25 seconds) - y%d$^n", get_pcvar_num(speedcost));
		iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "r9. wGodmode d(key activation) r(5 seconds) - y%d$^n^n", get_pcvar_num(godmodecost));
		iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "r0. wExit"); 

		new iKeys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<< 8 | 1<<9 );
		show_menu(id, iKeys, szBuffer, -1, "Hide'n'Seek Shop");
	} else
		ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Shop has been disabled.");
	return PLUGIN_HANDLED;
}

// Shop actions
public hnsshop( id, key ) {
	switch( key ) {
		case 0: // Silent Footsteps
		{
			if(!is_user_alive(id)) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
				return PLUGIN_HANDLED;  
			}
			if(usersilent[id] > 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You already own this item!");
				return PLUGIN_HANDLED;
			}
			if(get_pcvar_num(allowsilent) == 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
				return PLUGIN_HANDLED;
			}
	
			new money = fm_get_user_money(id);
			new cost = get_pcvar_num(silentcost);
	
			if(money > cost || money == cost) {
				set_pev(id, pev_flTimeStepSound, 999);
				fm_set_user_money(id, money - cost);
				usersilent[id]++;
				hassilent[id]++;
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You purchased^x03 Silent Footsteps,^x04 now enemy cant hear you.");
			} else {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
			}
		}
		case 1: // Stealth Suit
		{
			if(!is_user_alive(id)) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
				return PLUGIN_HANDLED;
			}
			if(userstealth[id] > 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You already own this item!");
				return PLUGIN_HANDLED;
			}
			if(get_pcvar_num(allowstealth) == 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
				return PLUGIN_HANDLED;
			}
	
			new money = fm_get_user_money(id);
			new cost = get_pcvar_num(stealthcost);
	
			if(money > cost || money == cost) {
				fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 15);
				fm_set_user_money(id, money - cost);
				userstealth[id]++;
				set_task(20.0, "remove_stealth", id);
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You purchased^x03 Stealth Suit,^x04 now you are invisible for 20 seconds.") ;
			} else {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
			}
		}
		case 2: // NoFlash Blinding
		{
			if(!is_user_alive(id)) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
				return PLUGIN_HANDLED;
			}
			if(usernoflash[id] > 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You already own this item!");
				return PLUGIN_HANDLED;
			}
			if(get_pcvar_num(allownoflash) == 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
				return PLUGIN_HANDLED;
			}
	
			new money = fm_get_user_money(id);
			new cost = get_pcvar_num(noflashcost);
	
			if(money > cost || money == cost) {
				fm_set_user_money(id, money - cost);
				usernoflash[id]++;
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You purchased^x03 NoFlash Blinding.");
			} else {  
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
			} 
		}
		case 3: // HP
		{
			if(!is_user_alive(id)) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
				return PLUGIN_HANDLED;
			}
			if(userhp[id] > 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You already own this item!");
				return PLUGIN_HANDLED;
			}
			if(get_pcvar_num(allowhp) == 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
				return PLUGIN_HANDLED;
			}
	
			new money = fm_get_user_money(id);
			new cost = get_pcvar_num(hpcost);
	
			if(money > cost || money == cost) {
				new health = get_pcvar_num(hpcvar);
				fm_set_user_money(id, money - cost);
				fm_set_user_health(id, health);
				userhp[id]++;
				client_cmd(id, "spk items/medshot4");
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You purchased^x03 %d HP.", get_pcvar_num(hpcvar));
			} else {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
			}
		}
		case 4: // Armor
		{
			if(!is_user_alive(id)) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
				return PLUGIN_HANDLED;
			}
			if(userarmor[id] > 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You already own this item!");
				return PLUGIN_HANDLED;
			}
			if(get_pcvar_num(allowarmor) == 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
				return PLUGIN_HANDLED;
			}
	
			new money = fm_get_user_money(id);
			new cost = get_pcvar_num(armorcost);
		
			if(money > cost || money == cost) {
				new armor = get_pcvar_num(armorcvar);
				fm_set_user_money(id, money - cost);
				fm_set_user_armor(id, armor);
				userarmor[id]++;
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You purchased^x03 %d Armor.", get_pcvar_num(armorcvar));
			} else {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
			}
		}
		case 5: // HE Grenade
		{
			if(!is_user_alive(id)) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
				return PLUGIN_HANDLED;
			}
			if(usergrenade[id] > 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You already own this item!");
				return PLUGIN_HANDLED;
			}
			if(get_pcvar_num(allowgrenade) == 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
				return PLUGIN_HANDLED;
			}
	
			new money = fm_get_user_money(id);
			new cost = get_pcvar_num(grenadecost);
	
			if(money > cost || money == cost) {
				fm_set_user_money(id, money - cost);
				fm_give_item(id, "weapon_hegrenade");
				usergrenade[id]++;
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You purchased an^x03 HE-Grenade.");
			} else {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
			}
		}
		case 6: // Gravity
		{
			if(!is_user_alive(id)) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
				return PLUGIN_HANDLED;
			}
			if(usergravity[id] > 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You already own this item!");
				return PLUGIN_HANDLED;
			}
			if(get_pcvar_num(allowgravity) == 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
				return PLUGIN_HANDLED;
			}
	
			new money = fm_get_user_money(id);
			new cost = get_pcvar_num(gravitycost);
		
			if(money > cost || money == cost) {
				fm_set_user_money(id, money - cost);
				fm_set_user_gravity(id, 0.63);
				usergravity[id]++;
				set_task(10.0, "remove_gravity", id);
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You purchased^x03 Gravity^x04 for 10 seconds.");
			} else {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
			}
		}
		case 7: // Faster Speed
		{
			if(!is_user_alive(id)) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
				return PLUGIN_HANDLED; 
			}
			if(userspeed[id] > 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You already own this item!");
				return PLUGIN_HANDLED;
			}
			if(get_pcvar_num(allowspeed) == 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
				return PLUGIN_HANDLED;
			}
	
			new money = fm_get_user_money(id);
			new cost = get_pcvar_num(speedcost);
	
			if(money > cost || money == cost) {
				fm_set_user_money(id, money - cost);
				userspeed[id]++;
				hasspeed[id]++;
				fm_set_user_maxspeed(id, 320.0);
				set_task(25.0, "remove_speed", id);
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You purchased^x03 Faster speed.");
			} else {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
			}
		}
		case 8: // Godmode
		{
			if(!is_user_alive(id)) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need to be alive!");
				return PLUGIN_HANDLED; 
			}
			if(gotgodmode[id] > 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You already own this item!");
				return PLUGIN_HANDLED;
			}
			if(get_pcvar_num(allowgodmode) == 0) {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 This item is disabled.");
				return PLUGIN_HANDLED;
			}
		
			new money = fm_get_user_money(id);
			new cost = get_pcvar_num(godmodecost);
		 
			if(money > cost || money == cost) {
				gotgodmode[id]++;
				fm_set_user_money(id, money - cost);
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You purchased^x03 Godmode,^x04 Press R(Reload)^x01 to activate it.");
			} else {
				ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You need more^x04 money^x01 to buy this!");
			}
		}
		case 9: // Exit
			return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}

// Remove Gravity
public remove_gravity( id ) {
	fm_set_user_gravity(id, 1.0);
	ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Your gravity now is normal.");
}  

// Remove Stealth
public remove_stealth( id ) {
	fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
	ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 You are^x03 visible^x01 like others.");
}

// Remove Speed
public remove_speed( id ) {
	fm_set_user_maxspeed(id, 250.0);
	hasspeed[id] = 0;
	ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Your speed is normal now.");
}

// Remove Godmode
public remove_godmode( id ) {
	hasgodmode[id] = 0;
	fm_set_user_godmode(id, 0);
	if(!mess2[id]) {
		ColorChat(id, RED, "^x04[Hide'n'Seek Shop]^x01 You dont have godmode anymore.");
		mess2[id]++;
		fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
		set_task(3.0, "remove_mess2", id);
	}
}

public remove_mess( id )		mess[id]	= 0;
public remove_mess2( id )	mess2[id]	= 0;

/// NoFlash Blinding - Start
public bad_fix2() {
	new Float:gametime = get_gametime();
	if(gametime - g_gametime2 > 2.5)
		for(new i = 0; i < 32; i++)
			grenade[i] = 0;
}

public eventFlash( id ) {
	new Float:gametime = get_gametime();
	if(gametime != g_gametime) { 
		g_owner = get_grenade_owner();
		g_gametime = gametime;
		for(new i = 0; i < 33; i++) 
			g_track[i] = false;
		g_track_enemy = false;
	}    
	if(is_user_connected(g_owner) && usernoflash[id] > 0) {
		g_track_enemy = true;

		message_begin(MSG_ONE, g_msgScreenFade, {0,0,0}, id);
		write_short(1);
		write_short(1);
		write_short(1);
		write_byte(0);
		write_byte(0);
		write_byte(0);
		write_byte(255);
		message_end();
	}
}

public flash_delay() {
	if(g_track_enemy == false) {
		for(new i = 0; i < 33; i++) {
			if(g_track[i] == true && is_user_connected(i)) {
				message_begin(MSG_ONE, g_msgScreenFade, {0,0,0}, i) ;
				write_short(1);
				write_short(1);
				write_short(1);
				write_byte(0);
				write_byte(0);
				write_byte(0);
				write_byte(255);
				message_end();
			}
		}
	}
}

public grenade_throw() {
	if(g_sync_check_data == 0)
		return PLUGIN_CONTINUE;
	g_sync_check_data--;
	if(read_datanum() < 2)
		return PLUGIN_HANDLED_MAIN;

	if(read_data(1) == 11 && (read_data(2) == 0 || read_data(2) == 1))
		add_grenade_owner(last);

	return PLUGIN_CONTINUE;
}

public fire_in_the_hole() {
	new name[32];
	read_data(3, name, 31);
	new temp_last = get_user_index(name);
	new junk;
	if((temp_last == 0) || (!is_user_connected(temp_last)))
		return PLUGIN_CONTINUE;
	if(get_user_weapon(temp_last,junk,junk) == CSW_FLASHBANG) {
		last = temp_last;
		g_sync_check_data = 2; 
	}
	return PLUGIN_CONTINUE;
}

public fire_in_the_hole2() {
	new name[32];
	read_data(4, name, 31);
	new temp_last = get_user_index(name);
	new junk;
	if((temp_last == 0) || (!is_user_connected(temp_last)))
		return PLUGIN_CONTINUE;
	if(get_user_weapon(temp_last,junk,junk) == CSW_FLASHBANG) {    
		last = temp_last;
		g_sync_check_data = 2;
	}
	return PLUGIN_CONTINUE;
}

add_grenade_owner(owner) {
	new Float:gametime = get_gametime();
	g_gametime2 = gametime;
	for(new i = 0; i < 32; i++) {
		if(grenade[i] == 0) {
			grenade[i] = owner;
			return;
		}
	}
}

get_grenade_owner() {
	new which = grenade[0];
	for(new i = 1; i < 32; i++)  
		grenade[i-1] = grenade[i];
	grenade[31] = 0;
	return which;
}

// from XxAvalanchexX "Flashbang Dynamic Light"
public fw_emitsound(entity,channel,const sample[],Float:volume,Float:attenuation,fFlags,pitch) {
	if(!equali(sample,"weapons/flashbang-1.wav") && !equali(sample,"weapons/flashbang-2.wav"))
		return FMRES_IGNORED;

	new Float:gametime = get_gametime();

	//in case no one got flashed, the sound happens after all the flashes, same game time
	if(gametime != g_gametime) {
		g_owner = get_grenade_owner();
		return FMRES_IGNORED;
	}
	return FMRES_IGNORED;
}
// NoFlash Blinding - End 

// Stocks - Start
public fm_set_user_money ( index, i_Money ) { 
	set_pdata_int ( index, 115, i_Money ); 

	message_begin ( MSG_ONE, g_msgMoney, _, index ); 
	write_long ( i_Money ); 
	write_byte ( 1 ); 
	message_end (); 
}

stock fm_get_user_godmode( index ) {
	new Float:val;
	pev(index, pev_takedamage, val);

	return (val == DAMAGE_NO);
}

stock fm_set_user_godmode( index, godmode = 0 ) {
	set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM);

	return 1;
}

stock fm_set_user_health( index, health ) {
	health > 0 ? set_pev(index, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, index);

	return 1;
}

stock fm_set_user_rendering(index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
	return fm_set_rendering(index, fx, r, g, b, render, amount);
}

stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) {
	engfunc(EngFunc_SetClientMaxspeed, index, speed);
	set_pev(index, pev_maxspeed, speed);

	return 1;
}

stock fm_set_user_armor( index, armor ) {
	set_pev(index, pev_armorvalue, float(armor));

	return 1;
}

stock fm_set_user_gravity( index, Float:gravity = 1.0 ) {
	set_pev(index, pev_gravity, gravity);

	return 1;
}

stock fm_give_item( index, const item[] ) {
	if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5))
		return 0;

	new ent = fm_create_entity(item);
	if (!pev_valid(ent))
		return 0;

	new Float:origin[3];
	pev(index, pev_origin, origin);
	set_pev(ent, pev_origin, origin);
	set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
	dllfunc(DLLFunc_Spawn, ent);

	new save = pev(ent, pev_solid);
	dllfunc(DLLFunc_Touch, ent, index);
	if (pev(ent, pev_solid) != save)
		return ent;

	engfunc(EngFunc_RemoveEntity, ent);

	return -1;
}

stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
	new Float:RenderColor[3];
	RenderColor[0] = float(r);
	RenderColor[1] = float(g);
	RenderColor[2] = float(<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />;

	set_pev(entity, pev_renderfx, fx);
	set_pev(entity, pev_rendercolor, RenderColor);
	set_pev(entity, pev_rendermode, render);
	set_pev(entity, pev_renderamt, float(amount));

	return 1;
}
// Stocks - End

// ColorChat - Start
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...) {
	new message[256];

	switch(type) {
		case NORMAL:	message[0] = 0x01;
		case GREEN:	message[0] = 0x04;
		default:	message[0] = 0x03;
	}

	vformat(message[1], 251, msg, 4);

	// Make sure message is not longer than 192 character. Will crash the server.
	message[192] = '^0';

	new team, ColorChange, index, MSG_Type;
	
	if(id) {
		MSG_Type = MSG_ONE;
		index = id;
	} else {
		index = FindPlayer();
		MSG_Type = MSG_ALL;
	}
	
	team = get_user_team(index);
	ColorChange = ColorSelection(index, MSG_Type, type);

	ShowColorMessage(index, MSG_Type, message);
		
	if(ColorChange)
		Team_Info(index, MSG_Type, TeamName[team]);
}

ShowColorMessage(id, type, message[]) {
	static bool:saytext_used;
	static get_user_msgid_saytext;
	if(!saytext_used) {
		get_user_msgid_saytext = get_user_msgid("SayText");
		saytext_used = true;
	}
	message_begin(type, get_user_msgid_saytext, _, id);
	write_byte(id);
	write_string(message);
	message_end();	
}

Team_Info(id, type, team[]) {
	static bool:teaminfo_used;
	static get_user_msgid_teaminfo;
	if(!teaminfo_used) {
		get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
		teaminfo_used = true;
	}
	message_begin(type, get_user_msgid_teaminfo, _, id);
	write_byte(id);
	write_string(team);
	message_end();

	return 1;
}

ColorSelection(index, type, Color:Type) {
	switch(Type) {
		case RED:	return Team_Info(index, type, TeamName[1]);
		case BLUE:	return Team_Info(index, type, TeamName[2]);
		case GREY:	return Team_Info(index, type, TeamName[0]);
	}

	return 0;
}

FindPlayer(){
	new i = -1;

	while(i <= get_maxplayers())
		if(is_user_connected(++i))
			return i;
	
	return -1;
}


#2 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 29.10.2009 18:28

ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...) 
{ 
static message[256];
Zamień na:
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...) 
{ 
    if(!is_user_connected(id) 
        return 
    static message[256];

http://amxx.pl/topic... ... t20069.htm
  • +
  • -
  • 0

#3 Wiewiorek

    Wszechobecny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:438
  • Lokalizacja:Wawa
Offline

Napisano 29.10.2009 23:04

nie można skompilować

#4 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 29.10.2009 23:32

Załącznik.
Na przyszłość długie pluginy również dawaj w załączniku :)

Załączone pliki


  • +
  • -
  • 0




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

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