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", "2Game_radio", "4Fire_in_the_hole"); register_event("TextMsg", "fire_in_the_hole2", "b", "3Game_radio", "5Fire_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; }