Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <fakemeta>
- #pragma semicolon 1
- /*
- * 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];
- 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("Deluxe 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 /tienda", "show_hnsmenu");
- register_clcmd("say /shop", "show_hnsmenu");
- register_clcmd("say tienda", "show_hnsmenu");
- register_clcmd("say shop", "show_hnsmenu");
- // Menu
- menu = register_menuid("[Deluxe 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;
- }
- 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;
- }
- 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, "^x04[Deluxe Shop]^x01 Este servidor usa^x03 Deluxe Shop,^x01 para poder comprar^x01 escribe^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 iButton;
- iButton = get_uc(uc_handle, UC_Buttons);
- if(gotgodmode[id]) {
- if(iButton & IN_RELOAD) {
- iButton &= ~IN_RELOAD;
- set_uc(uc_handle, UC_Buttons, iButton);
- add_godmode(id);
- }
- }
- 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;
- hasgodmode[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, "\rDeluxe Shop Menu^n^n");
- iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r1. \wPasos Silenciosos - \y%d$^n", get_pcvar_num(silentcost));
- iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r2. \wInvisibilidad \r(20 segundos) - \y%d$^n", get_pcvar_num(stealthcost));
- iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r3. \wAnti Flash - \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. \wGranada HE - \y%d$^n", get_pcvar_num(grenadecost));
- iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r7. \wGravedad \r(10 segundos) - \y%d$^n", get_pcvar_num(gravitycost));
- iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r8. \wVelocidad \r(25 segundos) - \y%d$^n", get_pcvar_num(speedcost));
- iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r9. \wModo Dios \r(5 segundos) - \y%d$^n^n", get_pcvar_num(godmodecost));
- iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r0. \wSalir");
- 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, "[Deluxe Shop]");
- } else
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 La ^x04tienda ^x01ha sido desactivada.");
- return PLUGIN_HANDLED;
- }
- // Shop actions
- public hnsshop( id, key ) {
- switch( key ) {
- case 0: // Silent Footsteps
- {
- if(!is_user_alive(id)) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Necesitas estar ^x04vivo!");
- return PLUGIN_HANDLED;
- }
- if(usersilent[id] > 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Ya tienes este ^x04item!");
- return PLUGIN_HANDLED;
- }
- if(get_pcvar_num(allowsilent) == 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Este ^x04item ^x01esta deshabilitado.");
- 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[Deluxe Shop]^x01 Has comprado^x03 Pasos Silenciosos,^x01 ahora el enemigo no podra escucharte.");
- } else {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 No tienes^x03 dinero^x03 suficiente^x01 para poder comprar este ^x03item!");
- }
- }
- case 1: // Stealth Suit
- {
- if(!is_user_alive(id)) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Necesitas estar ^x04vivo!");
- return PLUGIN_HANDLED;
- }
- if(userstealth[id] > 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Ya tienes este ^x04item!");
- return PLUGIN_HANDLED;
- }
- if(get_pcvar_num(allowstealth) == 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Este ^x04item ^x01esta deshabilitado.");
- 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[Deluxe Shop]^x01 Has comprado^x03 Invisibilidad,^x01 ahora eres^x03 invisible^x01 por^x04 20 segundos.") ;
- } else {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 No tienes^x03 dinero^x03 suficiente^x01 para poder comprar este ^x03item!");
- }
- }
- case 2: // NoFlash Blinding
- {
- if(!is_user_alive(id)) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Necesitas estar ^x04vivo!");
- return PLUGIN_HANDLED;
- }
- if(usernoflash[id] > 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Ya tienes este ^x04item!");
- return PLUGIN_HANDLED;
- }
- if(get_pcvar_num(allownoflash) == 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Este ^x04item ^x01esta deshabilitado.");
- 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[Deluxe Shop]^x01 Has comprado^x03 Anti Flash.");
- } else {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 No tienes^x03 dinero^x03 suficiente^x01 para poder comprar este ^x03item!");
- }
- }
- case 3: // HP
- {
- if(!is_user_alive(id)) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Necesitas estar ^x04vivo!");
- return PLUGIN_HANDLED;
- }
- if(userhp[id] > 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Ya tienes este ^x04item!");
- return PLUGIN_HANDLED;
- }
- if(get_pcvar_num(allowhp) == 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Este ^x04item ^x01esta deshabilitado.");
- 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[Deluxe Shop]^x01 Has comprado^x03 %d HP.", get_pcvar_num(hpcvar));
- } else {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 No tienes^x03 dinero^x03 suficiente^x01 para poder comprar este ^x03item!");
- }
- }
- case 4: // Armor
- {
- if(!is_user_alive(id)) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Necesitas estar ^x04vivo!");
- return PLUGIN_HANDLED;
- }
- if(userarmor[id] > 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Ya tienes este ^x04item!");
- return PLUGIN_HANDLED;
- }
- if(get_pcvar_num(allowarmor) == 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Este ^x04item ^x01esta deshabilitado.");
- 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[Deluxe Shop]^x01 Has comprado^x03 %d Armor.", get_pcvar_num(armorcvar));
- } else {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 No tienes^x03 dinero^x03 suficiente^x01 para poder comprar este ^x03item!");
- }
- }
- case 5: // HE Grenade
- {
- if(!is_user_alive(id)) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Necesitas estar ^x04vivo!");
- return PLUGIN_HANDLED;
- }
- if(usergrenade[id] > 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Ya tienes este ^x04item!");
- return PLUGIN_HANDLED;
- }
- if(get_pcvar_num(allowgrenade) == 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Este ^x04item ^x01esta deshabilitado.");
- 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[Deluxe Shop]^x01 Has comprado^x03 Granada HE.");
- } else {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 No tienes^x03 dinero^x03 suficiente^x01 para poder comprar este ^x03item!");
- }
- }
- case 6: // Gravity
- {
- if(!is_user_alive(id)) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Necesitas estar ^x04vivo!");
- return PLUGIN_HANDLED;
- }
- if(usergravity[id] > 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Ya tienes este ^x04item!");
- return PLUGIN_HANDLED;
- }
- if(get_pcvar_num(allowgravity) == 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Este ^x04item ^x01esta deshabilitado.");
- 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[Deluxe Shop]^x01 Has comprado^x03 Gravedad^x01 por^x04 10 segundos.");
- } else {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 No tienes^x03 dinero^x03 suficiente^x01 para poder comprar este ^x03item!");
- }
- }
- case 7: // Faster Speed
- {
- if(!is_user_alive(id)) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Necesitas estar ^x04vivo!");
- return PLUGIN_HANDLED;
- }
- if(userspeed[id] > 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Ya tienes este ^x04item!");
- return PLUGIN_HANDLED;
- }
- if(get_pcvar_num(allowspeed) == 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Este ^x04item ^x01esta deshabilitado.");
- 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[Deluxe Shop]^x01 Has comprado^x03 Velocidad^x01 por^x04 25 segundos.");
- } else {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 No tienes^x03 dinero^x03 suficiente^x01 para poder comprar este ^x03item!");
- }
- }
- case 8: // Godmode
- {
- if(!is_user_alive(id)) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Necesitas estar ^x04vivo!");
- return PLUGIN_HANDLED;
- }
- if(gotgodmode[id] > 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Ya tienes este ^x04item!");
- return PLUGIN_HANDLED;
- }
- if(get_pcvar_num(allowgodmode) == 0) {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Este ^x04item ^x01esta deshabilitado.");
- return PLUGIN_HANDLED;
- }
- new money = fm_get_user_money(id);
- new cost = get_pcvar_num(godmodecost);
- if(money > cost || money == cost)
- {
- gotgodmode[id] = 1;
- fm_set_user_money(id, money - cost);
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Has comprado^x03 Modo Dios,^x01 por^x04 5 segundos.");
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Para activar tu ^x03 Modo Dios^x01 debes pulsar al letra ^x04[N]");
- } else {
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 No tienes^x03 dinero^x03 suficiente^x01 para poder comprar este ^x03item!");
- }
- }
- 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[Deluxe Shop]^x01 Tu ^x03Gravedad^x01 ahora es normal.");
- }
- // Remove Stealth
- public remove_stealth( id ) {
- fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Ahora eres^x03 visible^x01 para todos.");
- }
- // Remove Speed
- public remove_speed( id ) {
- fm_set_user_maxspeed(id, 250.0);
- hasspeed[id] = 0;
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Tu ^x03Velocidad^x01 ahora es normal.");
- }
- // Add and Remove GodMode
- public add_godmode(id) {
- if(!gotgodmode[id]) return;
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Has activado el ^x03Modo Dios.");
- fm_set_user_godmode(id, 1);
- gotgodmode[id] = 0;
- set_task(5.0, "remove_godmode", id);
- client_cmd(id, "spk ^"buttons/bell1.wav");
- fm_set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 255);
- }
- public remove_godmode( id ) {
- fm_set_user_godmode(id, 0);
- ColorChat(id, BLUE, "^x04[Deluxe Shop]^x01 Se te ha acabado el ^x03Modo Dios.");
- fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
- }
- /// 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(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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement