Jump to content

Zp.Mihai

Membru
  • Posts

    82
  • Joined

  • Last visited

Posts posted by Zp.Mihai

  1. vand addons de cs 1.6 mod zombie plague ultimate 6.5 mod XP, addonul contine urmatoarel:

            Moduri: 
    - Nemessis
    - Assassins
    - Survivor
    - Sniper
    - Armaghedon
    - Swarm
    - Infectie-Multipla
    - Plague
    - Boss Alien

    - Extra Items Human/Zombie
    - Extra items vip human/zombie
    - VIP sistem care se acorda jucatorilor contra-cost modificat si adaugat optionea de expirare automata plus stergerea liniei din vips.ini, in chat la fiecare connectare dupa 15 secunde apare un mesaj cand iti expira vip-ul.
    - lasermine personalizat se vede in hud: viata laser-ului si cine la pus, plus un bonus de 10 credite celui care il sparge(zombie)
    - time present, modifica da credite pe server din 5 in 5 minute anunta in chat si ofera urmatoarele sume de credite: 
    * 3 minute = 10 credite
    * 5 minute = 15 credite
    * 10 minute = 25 credite
    * 15 minute = 35 credite
    * 20 minute = 45 credite
    * 25 minute = 55 credite
    * 30 minute = 65 credite
    * 35 minute = 80 credite
    - top ore afiseaza un top unde se inregistrea orele adminilor cei mai activi admini de pe server
    - register systems pentru protectia contului
    - creditele si nivelul sunt salvate pe baza de date mysql.
    - posibilitatea de a bloca conturile jucatorilor de pe server in users.ini
    - meniu cu preturile si avantajele de la VIP
    - jucatori ce detin VIP sunt afisati intr-un hud pe ecran.
    - plugin personalizat arata in chat nivelul jucatorilor care scriu in chat si la admini gradul detinut si nivelul lui.
    - mapchooser mai nou
    - advance ban
    - la fiecare final de runda apare un hud pe ecran si afiseaza numele celui mai bun jucator de pe runda si liderul harti cu suma cea mai mare de credite facute.
    - parasuta pe server la toti jucatori zombie/human si moduri
    - game play la inceput de runda
    - clase cu abilitati pentru human, la fiecare inceput de mapa apare un meniu si se va auzi un sunet specifi "vrei sa fii erou" unde te oblica sa alegi o clasa dorita sau se poate reactiva la cerere /hc.
    - armele au mai multe gloante
    - skinuri la toate armele din meniu de inceput de runda.
    - skin la playeri personalizat
    - knifa la admini personalizata
    - un meniu de bind-uri unde iti poti seta automat bindu-rile de lasermine.
    - survivor-ul are mai multe arme la el m4a1/minigun/shutgun xm/ ak47
    - event happyhour in fiecare seara intre orele 20:00 si 22:00
    - efecte la infectie si la uciderea unui zombie/human
    - afiseaza in chat cine face nivel up si ce nivel a facut, se aude un sunet specific lui.
    - 24 de clase human si zombie cu abilitati diferite atat human cat si zombie.
    - addonul este tradus in proportie de 95% in limba romana.
    - addonul nu face lag nu prezinta buguri.
    - fiecare clasa de zombie au skin-uri diferite

    mai jos aveti un mic video cu addonul:
    https://www.youtube.com/watch?v=bWSgeXveFS0&t=79s

    addonul se poate vedea pe server cum ruleaza: AICI .

     

    100 Ron Paysafecard 

    Add skype: Mihai Eugen Zp

  2. salut as vrea sa se modifice acest plugin 

    #include <amxmodx> 
    #include <fakemeta> 
    #include <xs> 
    #include <zombie_plague_special> 
    
    
    #if defined BIOHAZARD_SUPPORT 
    #include <biohazard> 
    #endif 
    
    #if defined UL_MONEY_SUPPORT 
    #include <money_ul> 
    #endif 
    
    
    #if AMXX_VERSION_NUM < 180 
    #assert AMX Mod X v1.8.0 or greater library required! 
    #endif 
    
    #if defined BIOHAZARD_SUPPORT 
    #define PLUGIN "LTM for BIOHAZARD" 
    #define VERSION "+1.4" 
    #else 
    #define PLUGIN "Laser/Tripmine Entity" 
    #define VERSION "2.3" 
    #endif 
    #define AUTHOR "SandStriker" 
    
    #define RemoveEntity(%1) engfunc(EngFunc_RemoveEntity,%1) 
    //#define ACCESSLEVEL ADMIN_LEVEL_H 
    #define TASK_PLANT 15100 
    #define TASK_RESET 15500 
    #define TASK_RELEASE 15900 
    
    #define LASERMINE_TEAM pev_iuser1//EV_INT_iuser1 
    #define LASERMINE_OWNER pev_iuser2 //EV_INT_iuser3 
    #define LASERMINE_STEP pev_iuser3 
    #define LASERMINE_HITING pev_iuser4 
    #define LASERMINE_COUNT pev_fuser1 
    
    #define LASERMINE_POWERUP pev_fuser2 
    #define LASERMINE_BEAMTHINK pev_fuser3 
    
    #define LASERMINE_BEAMENDPOINT pev_vuser1 
    #define MAX_MINES 10 
    #define MODE_LASERMINE 0 
    #define OFFSET_TEAM 114 
    #define OFFSET_MONEY 115 
    #define OFFSET_DEATH 444 
    
    #define cs_get_user_team(%1) CsTeams:get_offset_value(%1,OFFSET_TEAM) 
    #define cs_get_user_deaths(%1) get_offset_value(%1,OFFSET_DEATH) 
    #define cs_get_user_money(%1) get_offset_value(%1,OFFSET_MONEY) 
    #define cs_set_user_money(%1,%2) set_offset_value(%1,OFFSET_MONEY,%2) 
    
    
    
    enum CsTeams { 
    CS_TEAM_UNASSIGNED = 0, 
    CS_TEAM_T = 1, 
    CS_TEAM_CT = 2, 
    CS_TEAM_SPECTATOR = 3 
    }; 
    
    enum tripmine_e { 
    TRIPMINE_IDLE1 = 0, 
    TRIPMINE_IDLE2, 
    TRIPMINE_ARM1, 
    TRIPMINE_ARM2, 
    TRIPMINE_FIDGET, 
    TRIPMINE_HOLSTER, 
    TRIPMINE_DRAW, 
    TRIPMINE_WORLD, 
    TRIPMINE_GROUND, 
    }; 
    
    enum 
    { 
    POWERUP_THINK, 
    BEAMBREAK_THINK, 
    EXPLOSE_THINK 
    }; 
    
    enum 
    { 
    POWERUP_SOUND, 
    ACTIVATE_SOUND, 
    STOP_SOUND 
    }; 
    
    new const 
    ENT_MODELS[] = "models/zombie_plague/LaserMines/v_laser_mine.mdl", 
    ENT_SOUND1[]	= "weapons/mine_deploy.wav", 
    ENT_SOUND2[]	= "weapons/mine_charge.wav", 
    ENT_SOUND3[]	= "weapons/mine_activate.wav", 
    ENT_SOUND4[]	= "debris/beamstart9.wav", 
    ENT_SOUND5[]	= "items/gunpickup1.wav", 
    ENT_SOUND6[]	= "debris/bustglass1.wav", 
    ENT_SOUND7[]	= "debris/bustglass2.wav", 
    ENT_SPRITE1[] = "sprites/laserbeam.spr", 
    ENT_SPRITE2[] = "sprites/zerogxplode.spr"; 
    
    new const 
    ENT_CLASS_NAME[] = "lasermine", 
    //ENT_CLASS_NAME2[] = "info_target", 
    ENT_CLASS_NAME3[] = "func_breakable"; 
    
    new const 
    #if defined BIOHAZARD_SUPPORT 
    CHATTAG[] = "[BioLaser]", 
    #else 
    CHATTAG[] = "[Lasermine]", 
    #endif 
    //STR_MINEDETNATED[] = "Mina ta a fost detonata.", 
    //STR_MINEDETNATED2[] = "a detonat mina ta.", 
    STR_NOTACTIVE[] = "Laserele nu sunt activate.", 
    STR_DONTHAVEMINE[] = "Nu ai nici un laser.", 
    //STR_CANTDEPLOY[] = "Echipa ta nu paote planta lasere!", 
    STR_MAXDEPLOY[] = "Numarul maxim de lasere a fost atins.", 
    STR_MANYPPL[] = "Prea multe lasere in echipa ta...", 
    STR_PLANTWALL[] = "Trebuie sa plantezi laserul pe zid!", 
    STR_REF[] = "Refer to a lasermine rule with this server. say 'lasermine'", 
    #if defined BIOHAZARD_SUPPORT 
    STR_CBT[] = "Esti Zombie!Nu poti cumpara si planta un laser.", 
    #else 
    STR_CBT[] = "Echipa ta nu poate cumpara si planta lasere!", 
    #endif 
    STR_CANTBUY[] = "Nu poti cumpara pe acest server.", 
    STR_HAVEMAX[] = "Ai numarul maxim de lasere.", 
    STR_NOMONEY[] = "Nu ai destui bani sa cumperi un laser! ($", 
    STR_NEEDED[] = "needed)", 
    STR_DELAY[] = "Poti cumpara si planta lasere in", 
    STR_SECONDS[] = "secunde.", 
    STR_BOUGHT[] = "Tocmai ai cumparat un laser.", 
    STR_STATE[] = "LaserMine Detinute:", 
    STR_NOACCESS[] = "Nu ai acces la aceasta comanda."; 
    
    new g_EntMine; 
    new beam, boom 
    new 
    g_LENABLE,g_LFMONEY,g_LAMMO,g_LDMG, 
    g_LTMAX,g_LCOST,g_LHEALTH,g_LMODE,g_LRADIUS,g_LRDMG,g_LFF,g_LCBT; 
    new 
    g_LDELAY,/*g_LTHINK,*/g_LVISIBLE, 
    g_LSTAMMO,g_LACCESS,g_LGLOW,g_LDMGMODE,g_LCLMODE,g_LCBRIGHT,g_LDSEC,g_LCMDMODE,g_LBUYMODE,g_NEMROUND,g_SURVROUND, g_SNIPROUND, g_ASSASROUND, g_PREDROUND, g_BERROUND, g_WESROUND, g_SPYROUND; 
    
    new g_dcount[33],g_nowtime,g_MaxPL 
    new bool:g_settinglaser[33] 
    new g_msgDeathMsg,g_msgScoreInfo,g_msgDamage,g_msgStatusText,g_msgMoney; 
    new Float:plspeed[33] 
    new plsetting[33] 
    new g_havemine[33]; 
    new g_deployed[33]; 
    
    public plugin_init() { 
    register_plugin(PLUGIN, VERSION, AUTHOR); 
    
    // Add your code here... 
    register_clcmd("+setlaser","CreateLaserMine_Progress_b"); 
    register_clcmd("-setlaser","StopCreateLaserMine"); 
    register_clcmd("+dellaser","ReturnLaserMine_Progress"); 
    register_clcmd("-dellaser","StopReturnLaserMine"); 
    register_clcmd("say","say_lasermine"); 
    register_clcmd("buy_lasermine","BuyLasermine"); 
    
    #if defined BIOHAZARD_SUPPORT 
    g_LENABLE = register_cvar("bio_ltm","1"); 
    g_LACCESS = register_cvar("bio_ltm_acs","0"); //0 all, 1 admin 
    g_LMODE = register_cvar("bio_ltm_mode","0"); //0 lasermine, 1 tripmine 
    g_LAMMO = register_cvar("bio_ltm_ammo","2"); 
    g_LDMG = register_cvar("bio_ltm_dmg","100000"); //laser hit dmg 
    g_LCOST = register_cvar("bio_ltm_cost","6000"); 
    g_LFMONEY = register_cvar("bio_ltm_fragmoney","400"); 
    g_LHEALTH = register_cvar("bio_ltm_health","850"); 
    g_LTMAX = register_cvar("bio_ltm_teammax","15"); 
    g_LRADIUS = register_cvar("bio_ltm_radius","320.0"); 
    g_LRDMG = register_cvar("bio_ltm_rdmg","10000"); //radius damage 
    g_LFF = register_cvar("bio_ltm_ff","0"); 
    g_LCBT = register_cvar("bio_ltm_cbt","ALL"); 
    g_LBUYMODE = register_cvar("bio_ltm_buymode","1"); 
    g_LDELAY = register_cvar("bio_ltm_delay","15"); 
    //g_LTHINK = register_cvar("bio_ltm_think","0.01"); 
    g_LVISIBLE = register_cvar("bio_ltm_line","1"); 
    g_LGLOW = register_cvar("bio_ltm_glow","0"); 
    g_LCBRIGHT = register_cvar("bio_ltm_bright","255"); //laser line brightness. 
    g_LCLMODE = register_cvar("bio_ltm_color","0"); //0 is team color,1 is green 
    g_LDMGMODE = register_cvar("bio_ltm_ldmgmode","0"); //0 - frame dmg, 1 - once dmg, 2 - 1 second dmg 
    g_LDSEC = register_cvar("bio_ltm_ldmgseconds","1"); //mode 2 only, damage / seconds. default 1 (sec) 
    g_LSTAMMO = register_cvar("bio_ltm_startammo","2"); 
    g_LCMDMODE = register_cvar("bio_ltm_cmdmode","1"); //0 is +USE key, 1 is bind, 2 is each. 
    #else 
    g_LENABLE = register_cvar("amx_ltm","1"); 
    g_LACCESS = register_cvar("amx_ltm_acs","0"); //0 all, 1 admin 
    g_LMODE = register_cvar("amx_ltm_mode","0"); //0 lasermine, 1 tripmine 
    g_LAMMO = register_cvar("amx_ltm_ammo","2"); 
    g_LDMG = register_cvar("amx_ltm_dmg","100000"); //laser hit dmg 
    g_LCOST = register_cvar("amx_ltm_cost","0"); 
    g_LFMONEY = register_cvar("amx_ltm_fragmoney","400"); 
    g_LHEALTH = register_cvar("amx_ltm_health","850"); 
    g_LTMAX = register_cvar("amx_ltm_teammax","15"); 
    g_LRADIUS = register_cvar("amx_ltm_radius","320.0"); 
    g_LRDMG = register_cvar("amx_ltm_rdmg","10000"); //radius damage 
    g_LFF = register_cvar("amx_ltm_ff","0"); 
    g_LCBT = register_cvar("amx_ltm_cbt","ALL"); 
    g_LBUYMODE = register_cvar("amx_ltm_buymode","1"); 
    g_LDELAY = register_cvar("amx_ltm_delay","15"); 
    //g_LTHINK = register_cvar("amx_ltm_think","0.01") 
    g_LVISIBLE = register_cvar("amx_ltm_line","1"); 
    g_LGLOW = register_cvar("amx_ltm_glow","0"); 
    g_LCBRIGHT = register_cvar("amx_ltm_bright","255"); //laser line brightness. 
    g_LCLMODE = register_cvar("amx_ltm_color","0"); //0 is team color,1 is green 
    g_LDMGMODE = register_cvar("amx_ltm_ldmgmode","0"); //0 - frame dmg, 1 - once dmg, 2 - 1 second dmg 
    g_LDSEC = register_cvar("amx_ltm_ldmgseconds","1"); //mode 2 only, damage / seconds. default 1 (sec) 
    g_LSTAMMO = register_cvar("amx_ltm_startammo","2"); 
    g_LCMDMODE = register_cvar("amx_ltm_cmdmode","1"); //0 is +USE key, 1 is bind, 2 is each. 
    g_NEMROUND	= register_cvar("zp_ltm_nemround","0"); 
    g_SURVROUND	= register_cvar("zp_ltm_survround","1"); 
    g_SNIPROUND = register_cvar("zp_ltm_snipround", "1"); 
    g_ASSASROUND = register_cvar("zp_ltm_assasround", "1"); 
    g_SPYROUND = register_cvar("zp_ltm_spyround", "1"); 
    g_PREDROUND = register_cvar("zp_itm_predatorround", "1"); 
    g_BERROUND = register_cvar("zp_itm_berseround", "1"); 
    g_WESROUND = register_cvar("zp_itm_weskerround", "1"); 
    #endif 
    register_event("DeathMsg", "DeathEvent", "a"); 
    register_event("CurWeapon", "standing", "be", "1=1"); 
    register_event("ResetHUD", "delaycount", "a"); 
    register_event("ResetHUD", "newround", "b"); 
    register_event("Damage","CutDeploy_onDamage","b"); 
    g_msgDeathMsg = get_user_msgid("DeathMsg"); 
    g_msgScoreInfo = get_user_msgid("ScoreInfo"); 
    g_msgDamage = get_user_msgid("Damage"); 
    g_msgStatusText = get_user_msgid("StatusText"); 
    g_msgMoney = get_user_msgid("Money"); 
    // -- Forward. 
    register_forward(FM_Think, "ltm_Think" ); 
    register_forward(FM_PlayerPostThink, "ltm_PostThink" ); 
    register_forward(FM_PlayerPreThink, "ltm_PreThink"); 
    } 
    
    public plugin_precache() 
    { 
    precache_sound(ENT_SOUND1); 
    precache_sound(ENT_SOUND2); 
    precache_sound(ENT_SOUND3); 
    precache_sound(ENT_SOUND4); 
    precache_sound(ENT_SOUND5); 
    precache_sound(ENT_SOUND6); 
    precache_sound(ENT_SOUND7); 
    precache_model(ENT_MODELS); 
    beam = precache_model(ENT_SPRITE1); 
    boom = precache_model(ENT_SPRITE2); 
    
    return PLUGIN_CONTINUE; 
    } 
    
    public plugin_modules() 
    { 
    require_module("fakemeta"); 
    require_module("cstrike"); 
    //require_module("fun") 
    } 
    
    public plugin_cfg() 
    { 
    g_EntMine = engfunc(EngFunc_AllocString,ENT_CLASS_NAME3); 
    arrayset(g_havemine,0,sizeof(g_havemine)); 
    arrayset(g_deployed,0,sizeof(g_deployed)); 
    g_MaxPL = get_maxplayers(); 
    
    new file[64]; get_localinfo("amxx_configsdir",file,63); 
    #if defined BIOHAZARD_SUPPORT 
    format(file, 63, "%s/bhltm_cvars.cfg", file); 
    #else 
    format(file, 63, "%s/ltm_cvars.cfg", file); 
    #endif 
    if(file_exists(file)) server_cmd("exec %s", file), server_exec(); 
    
    } 
    
    public delaycount(id) 
    { 
    g_dcount[id] = floatround(get_gametime()); 
    } 
    
    bool:CheckTime(id) 
    { 
    g_nowtime = floatround(get_gametime()) - g_dcount[id]; 
    if(g_nowtime >= get_pcvar_num(g_LDELAY)) 
    return true; 
    return false; 
    } 
    
    public CreateLaserMine_Progress_b(id) 
    { 
    if(get_pcvar_num(g_LCMDMODE) != 0) 
    CreateLaserMine_Progress(id); 
    return PLUGIN_HANDLED; 
    } 
    
    public CreateLaserMine_Progress(id) 
    { 
    
    if (!CreateCheck(id)) 
    return PLUGIN_HANDLED; 
    g_settinglaser[id] = true; 
    
    message_begin( MSG_ONE, 108, {0,0,0}, id ); 
    write_byte(1); 
    write_byte(0); 
    message_end(); 
    
    set_task(1.2, "Spawn", (TASK_PLANT + id)); 
    
    return PLUGIN_HANDLED; 
    } 
    
    public ReturnLaserMine_Progress(id) 
    { 
    
    if (!ReturnCheck(id)) 
    return PLUGIN_HANDLED; 
    g_settinglaser[id] = true; 
    
    message_begin( MSG_ONE, 108, {0,0,0}, id ); 
    write_byte(1); 
    write_byte(0); 
    message_end(); 
    
    set_task(1.2, "ReturnMine", (TASK_RELEASE + id)); 
    
    
    return PLUGIN_HANDLED; 
    } 
    
    public StopCreateLaserMine(id) 
    { 
    
    DeleteTask(id); 
    message_begin(MSG_ONE, 108, {0,0,0}, id); 
    write_byte(0); 
    write_byte(0); 
    message_end(); 
    
    return PLUGIN_HANDLED; 
    } 
    
    public StopReturnLaserMine(id) 
    { 
    
    DeleteTask(id); 
    message_begin(MSG_ONE, 108, {0,0,0}, id); 
    write_byte(0); 
    write_byte(0); 
    message_end(); 
    
    return PLUGIN_HANDLED; 
    } 
    
    public ReturnMine(id) 
    { 
    id -= TASK_RELEASE; 
    new tgt,body,Float:vo[3],Float:to[3]; 
    get_user_aiming(id,tgt,body); 
    if(!pev_valid(tgt)) return; 
    pev(id,pev_origin,vo); 
    pev(tgt,pev_origin,to); 
    if(get_distance_f(vo,to) > 70.0) return; 
    
    new EntityName[32]; 
    pev(tgt, pev_classname, EntityName, 31); 
    if(!equal(EntityName, ENT_CLASS_NAME)) return; 
    if(pev(tgt,LASERMINE_OWNER) != id) return; 
    RemoveEntity(tgt); 
    
    g_havemine[id] ++; 
    g_deployed[id] --; 
    emit_sound(id, CHAN_ITEM, ENT_SOUND5, VOL_NORM, ATTN_NORM, 0, PITCH_NORM) 
    ShowAmmo(id) 
    
    return; 
    } 
    
    public Spawn( id ) 
    { 
    id -= TASK_PLANT 
    // motor 
    new i_Ent = engfunc(EngFunc_CreateNamedEntity,g_EntMine); 
    if(!i_Ent) 
    { 
    client_print(id,print_chat,"[Laesrmine Debug] Can't Create Entity"); 
    return PLUGIN_HANDLED_MAIN; 
    } 
    set_pev(i_Ent,pev_classname,ENT_CLASS_NAME); 
    
    engfunc(EngFunc_SetModel,i_Ent,ENT_MODELS); 
    
    set_pev(i_Ent,pev_solid,SOLID_NOT); 
    set_pev(i_Ent,pev_movetype,MOVETYPE_FLY); 
    
    set_pev(i_Ent,pev_frame,0); 
    set_pev(i_Ent,pev_body,3); 
    set_pev(i_Ent,pev_sequence,TRIPMINE_WORLD); 
    set_pev(i_Ent,pev_framerate,0); 
    
    set_pev(i_Ent,pev_takedamage,DAMAGE_YES); 
    
    set_pev(i_Ent,pev_dmg,100.0); 
    set_user_health(i_Ent,get_pcvar_num(g_LHEALTH)); 
    new Float:vOrigin[3]; 
    new Float:vNewOrigin[3],Float:vNormal[3],Float:vTraceDirection[3], 
    Float:vTraceEnd[3],Float:vEntAngles[3]; 
    pev( id, pev_origin, vOrigin ); 
    velocity_by_aim( id, 128, vTraceDirection ); 
    xs_vec_add( vTraceDirection, vOrigin, vTraceEnd ); 
    
    engfunc( EngFunc_TraceLine, vOrigin, vTraceEnd, DONT_IGNORE_MONSTERS, id, 0 ); 
    
    new Float:fFraction; 
    get_tr2( 0, TR_flFraction, fFraction ); 
    
    
    // -- We hit something! 
    if ( fFraction < 1.0 ) 
    { 
    // -- Save results to be used later. 
    get_tr2( 0, TR_vecEndPos, vTraceEnd ); 
    get_tr2( 0, TR_vecPlaneNormal, vNormal ); 
    } 
    
    
    xs_vec_mul_scalar( vNormal, 8.0, vNormal ); 
    xs_vec_add( vTraceEnd, vNormal, vNewOrigin ); 
    
    engfunc(EngFunc_SetSize, i_Ent, Float:{ -4.0, -4.0, -4.0 }, Float:{ 4.0, 4.0, 4.0 } ); 
    engfunc(EngFunc_SetOrigin, i_Ent, vNewOrigin ); 
    
    // -- Rotate tripmine. 
    vector_to_angle(vNormal,vEntAngles ); 
    set_pev(i_Ent,pev_angles,vEntAngles ); 
    
    // -- Calculate laser end origin. 
    new Float:vBeamEnd[3], Float:vTracedBeamEnd[3]; 
    
    xs_vec_mul_scalar(vNormal, 8192.0, vNormal ); 
    xs_vec_add( vNewOrigin, vNormal, vBeamEnd ); 
    
    engfunc( EngFunc_TraceLine, vNewOrigin, vBeamEnd, IGNORE_MONSTERS, -1, 0 ); 
    
    get_tr2( 0, TR_vecPlaneNormal, vNormal ); 
    get_tr2( 0, TR_vecEndPos, vTracedBeamEnd ); 
    
    // -- Save results to be used later. 
    set_pev(i_Ent, LASERMINE_OWNER, id ); 
    set_pev(i_Ent,LASERMINE_BEAMENDPOINT,vTracedBeamEnd); 
    set_pev(i_Ent,LASERMINE_TEAM,int:cs_get_user_team(id)); 
    new Float:fCurrTime = get_gametime(); 
    
    set_pev(i_Ent,LASERMINE_POWERUP, fCurrTime + 2.5 ); 
    
    set_pev(i_Ent,LASERMINE_STEP,POWERUP_THINK); 
    set_pev(i_Ent,pev_nextthink, fCurrTime + 0.2 ); 
    
    PlaySound(i_Ent,POWERUP_SOUND ); 
    g_deployed[id]++; 
    g_havemine[id]--; 
    DeleteTask(id); 
    ShowAmmo(id); 
    return 1; 
    } 
    
    stock TeamDeployedCount(id) 
    { 
    //new tid[32]; 
    
    static i; 
    static CsTeams:t;t = cs_get_user_team(id); 
    static cnt;cnt=0; 
    
    for(i = 1;i <= g_MaxPL;i++) 
    { 
    if(is_user_connected(i)) 
    if(t == cs_get_user_team(i)) 
    cnt += g_deployed[i]; 
    } 
    
    return cnt; 
    } 
    
    
    bool:CheckCanTeam(id) 
    { 
    new arg[5],CsTeam:num; 
    get_pcvar_string(g_LCBT,arg,3); 
    if(equali(arg,"T")) 
    { 
    num = CsTeam:CS_TEAM_T; 
    } 
    else if(equali(arg,"CT")) 
    { 
    num = CsTeam:CS_TEAM_CT; 
    } 
    else if(equali(arg,"ALL")) 
    { 
    num = CsTeam:CS_TEAM_UNASSIGNED; 
    } 
    else 
    { 
    num = CsTeam:CS_TEAM_UNASSIGNED; 
    } 
    if(num != CsTeam:CS_TEAM_UNASSIGNED && num != CsTeam:cs_get_user_team(id)) 
    return false; 
    return true; 
    } 
    
    bool:CanCheck(id,mode) 
    { 
    if( !get_pcvar_num( g_LENABLE ) ) 
    { 
    client_print(id, print_chat, "%s %s",CHATTAG,STR_NOTACTIVE); 
    return false; 
    } 
    if( get_pcvar_num(g_LACCESS) != 0) 
    if(!(get_user_flags(id) & ADMIN_IMMUNITY)) 
    { 
    client_print(id, print_chat, "%s %s",CHATTAG,STR_NOACCESS); 
    return false; 
    } 
    if(!pev_user_alive(id)) return false; 
    #if defined BIOHAZARD_SUPPORT 
    if(is_user_zombie(id)) 
    { 
    client_print(id, print_chat, "%s %s",CHATTAG,STR_CBT); 
    return false; 
    } 
    #endif 
    if (!CheckCanTeam(id)) 
    { 
    client_print(id, print_chat, "%s %s",CHATTAG,STR_CBT); 
    return false; 
    } 
    if( mode == 0) 
    { 
    if(g_havemine[id] <= 0) 
    { 
    client_print(id, print_chat, "%s %s",CHATTAG,STR_DONTHAVEMINE); 
    return false; 
    } 
    } 
    if (mode == 1) 
    { 
    if (get_pcvar_num(g_LBUYMODE) == 0) 
    { 
    client_print(id, print_chat, "%s %s",CHATTAG,STR_CANTBUY); 
    return false; 
    } 
    if (g_havemine[id] >= get_pcvar_num(g_LAMMO)) 
    { 
    client_print(id, print_chat, "%s %s",CHATTAG,STR_HAVEMAX); 
    return false; 
    } 
    if (cs_get_user_money(id) < get_pcvar_num(g_LCOST)) 
    { 
    client_print(id, print_chat, "%s %s%d %s",CHATTAG, STR_NOMONEY,get_pcvar_num(g_LCOST),STR_NEEDED); 
    return false; 
    } 
    } 
    if(!CheckTime(id)) 
    { 
    client_print(id,print_chat, "%s %s %d %s",CHATTAG,STR_DELAY,get_pcvar_num(g_LDELAY)-g_nowtime,STR_SECONDS); 
    return false; 
    } 
    
    return true; 
    } 
    
    bool:ReturnCheck( id ) 
    { 
    if(!CanCheck(id,-1)) return false; 
    if(g_havemine[id] + 1 > get_pcvar_num(g_LAMMO)) return false; 
    new tgt,body,Float:vo[3],Float:to[3]; 
    get_user_aiming(id,tgt,body); 
    if(!pev_valid(tgt)) return false; 
    pev(id,pev_origin,vo); 
    pev(tgt,pev_origin,to); 
    if(get_distance_f(vo,to) > 70.0) return false; 
    
    new EntityName[32]; 
    pev(tgt, pev_classname, EntityName, 31); 
    if(!equal(EntityName, ENT_CLASS_NAME)) return false; 
    if(pev(tgt,LASERMINE_OWNER) != id) return false; 
    
    return true; 
    } 
    
    bool:CreateCheck( id ) 
    { 
    if (!CanCheck(id,0)) return false; 
    
    if(zp_is_nemesis_round() && get_pcvar_num(g_NEMROUND)) 
    { 
    client_print(id, print_chat, "Nu poti plata Laser la runda Nemesis"); 
    return false; 
    } 
    
    if(zp_is_survivor_round() && get_pcvar_num(g_SURVROUND)) 
    { 
    client_print(id, print_chat, "Nu poti plata Laser la runda Survivor"); 
    return false; 
    } 
    if(zp_is_sniper_round() && get_pcvar_num(g_SNIPROUND)) 
    { 
    client_print(id, print_chat, "Nu poti plata Laser la runda Sniper"); 
    return false; 
    } 
    if(zp_is_assassin_round() && get_pcvar_num(g_ASSASROUND)) 
    { 
    client_print(id, print_chat, "Nu poti plata Laser la runda Assassin"); 
    return false; 
    } 
    if(zp_is_predator_round() && get_pcvar_num(g_PREDROUND)) 
    { 
    client_print(id, print_chat, "Nu poti plata Laser la runda Predator"); 
    return false; 
    } 
    if(zp_is_berserker_round() && get_pcvar_num(g_BERROUND)) 
    { 
    client_print(id, print_chat, "Nu poti plata Laser la runda Cutitar"); 
    return false; 
    } 
    if(zp_is_wesker_round() && get_pcvar_num(g_WESROUND)) 
    { 
    client_print(id, print_chat, "Nu poti plata Laser la runda Pistolar"); 
    return false; 
    } 
    if(zp_is_spy_round() && get_pcvar_num(g_SPYROUND)) 
    { 
    client_print(id, print_chat, "Nu poti plata Laser la runda Spion"); 
    return false; 
    } 
    if (g_deployed[id] >= get_pcvar_num(g_LAMMO)) 
    { 
    client_print(id, print_chat, "%s %s",CHATTAG,STR_MAXDEPLOY); 
    return false; 
    } 
    
    //client_print(id,print_chat,"[Lasermine] your team deployed %d",TeamDeployedCount(id)) 
    if(TeamDeployedCount(id) >= get_pcvar_num(g_LTMAX)) 
    { 
    client_print(id, print_chat, "%s %s",CHATTAG,STR_MANYPPL); 
    return false; 
    } 
    
    new Float:vTraceDirection[3], Float:vTraceEnd[3],Float:vOrigin[3]; 
    
    pev( id, pev_origin, vOrigin ); 
    velocity_by_aim( id, 128, vTraceDirection ); 
    xs_vec_add( vTraceDirection, vOrigin, vTraceEnd ); 
    
    engfunc( EngFunc_TraceLine, vOrigin, vTraceEnd, DONT_IGNORE_MONSTERS, id, 0 ); 
    
    new Float:fFraction,Float:vTraceNormal[3]; 
    get_tr2( 0, TR_flFraction, fFraction ); 
    
    // -- We hit something! 
    if ( fFraction < 1.0 ) 
    { 
    // -- Save results to be used later. 
    get_tr2( 0, TR_vecEndPos, vTraceEnd ); 
    get_tr2( 0, TR_vecPlaneNormal, vTraceNormal ); 
    
    //get_tr2( 0, TR_pHit ); 
    
    return true; 
    } 
    
    client_print(id, print_chat, "%s %s",CHATTAG,STR_PLANTWALL) 
    DeleteTask(id); 
    // -- Did not touched something. (not solid) 
    return false; 
    } 
    
    public ltm_Think( i_Ent ) 
    { 
    if ( !pev_valid( i_Ent ) ) 
    return FMRES_IGNORED; 
    new EntityName[32]; 
    pev( i_Ent, pev_classname, EntityName, 31); 
    if(!get_pcvar_num(g_LENABLE)) return FMRES_IGNORED; 
    // -- Entity is not a tripmine, ignoring the next... 
    if ( !equal( EntityName, ENT_CLASS_NAME ) ) 
    return FMRES_IGNORED; 
    
    static Float:fCurrTime; 
    fCurrTime = get_gametime(); 
    
    switch( pev( i_Ent, LASERMINE_STEP ) ) 
    { 
    case POWERUP_THINK : 
    { 
    new Float:fPowerupTime; 
    pev( i_Ent, LASERMINE_POWERUP, fPowerupTime ); 
    
    if( fCurrTime > fPowerupTime ) 
    { 
    set_pev( i_Ent, pev_solid, SOLID_BBOX ); 
    set_pev( i_Ent, LASERMINE_STEP, BEAMBREAK_THINK ); 
    
    PlaySound( i_Ent, ACTIVATE_SOUND ); 
    } 
    if(get_pcvar_num(g_LGLOW)!=0) 
    { 
    if(get_pcvar_num(g_LCLMODE)==0) 
    { 
    switch (pev(i_Ent,LASERMINE_TEAM)) 
    { 
    case CS_TEAM_T: set_rendering(i_Ent,kRenderFxGlowShell,255,0,0,kRenderNormal,5); 
    case CS_TEAM_CT:set_rendering(i_Ent,kRenderFxGlowShell,0,0,255,kRenderNormal,5); 
    } 
    }else 
    { 
    set_rendering(i_Ent,kRenderFxGlowShell,0,255,0,kRenderNormal,5); 
    } 
    } 
    set_pev( i_Ent, pev_nextthink, fCurrTime + 0.1 ); 
    } 
    case BEAMBREAK_THINK : 
    { 
    static Float:vEnd[3],Float:vOrigin[3]; 
    pev( i_Ent, pev_origin, vOrigin ); 
    pev( i_Ent, LASERMINE_BEAMENDPOINT, vEnd ); 
    
    static iHit, Float:fFraction; 
    engfunc( EngFunc_TraceLine, vOrigin, vEnd, DONT_IGNORE_MONSTERS, i_Ent, 0 ); 
    
    get_tr2( 0, TR_flFraction, fFraction ); 
    iHit = get_tr2( 0, TR_pHit ); 
    
    // -- Something has passed the laser. 
    if ( fFraction < 1.0 ) 
    { 
    // -- Ignoring others tripmines entity. 
    if(pev_valid(iHit)) 
    { 
    pev( iHit, pev_classname, EntityName, 31 ); 
    
    if( !equal( EntityName, ENT_CLASS_NAME ) ) 
    { 
    set_pev( i_Ent, pev_enemy, iHit ); 
    if(get_pcvar_num(g_LMODE) == MODE_LASERMINE) 
    CreateLaserDamage(i_Ent,iHit); 
    else 
    if(get_pcvar_num(g_LFF) || CsTeams:pev(i_Ent,LASERMINE_TEAM) != cs_get_user_team(iHit)) 
    set_pev( i_Ent, LASERMINE_STEP, EXPLOSE_THINK ); 
    
    set_pev( i_Ent, pev_nextthink, fCurrTime + random_float( 0.1, 0.3 ) ); 
    } 
    } 
    } 
    if(get_pcvar_num(g_LDMGMODE)!=0) 
    if(pev(i_Ent,LASERMINE_HITING) != iHit) 
    set_pev(i_Ent,LASERMINE_HITING,iHit); 
    
    // -- Tripmine is still there. 
    if ( pev_valid( i_Ent )) 
    { 
    static Float:fHealth; 
    pev( i_Ent, pev_health, fHealth ); 
    
    if( fHealth <= 0.0 || (pev(i_Ent,pev_flags) & FL_KILLME)) 
    { 
    set_pev( i_Ent, LASERMINE_STEP, EXPLOSE_THINK ); 
    set_pev( i_Ent, pev_nextthink, fCurrTime + random_float( 0.1, 0.3 ) ); 
    } 
    
    static Float:fBeamthink; 
    pev( i_Ent, LASERMINE_BEAMTHINK, fBeamthink ); 
    
    if( fBeamthink < fCurrTime && get_pcvar_num(g_LVISIBLE)) 
    { 
    DrawLaser(i_Ent, vOrigin, vEnd ); 
    set_pev( i_Ent, LASERMINE_BEAMTHINK, fCurrTime + 0.1 ); 
    } 
    set_pev( i_Ent, pev_nextthink, fCurrTime + 0.01 ); 
    } 
    } 
    case EXPLOSE_THINK : 
    { 
    // -- Stopping entity to think 
    set_pev( i_Ent, pev_nextthink, 0.0 ); 
    PlaySound( i_Ent, STOP_SOUND ); 
    g_deployed[pev(i_Ent,LASERMINE_OWNER)]--; 
    CreateExplosion( i_Ent ); 
    CreateDamage(i_Ent,get_pcvar_float(g_LRDMG),get_pcvar_float(g_LRADIUS)) 
    RemoveEntity ( i_Ent ); 
    } 
    } 
    
    return FMRES_IGNORED; 
    } 
    
    PlaySound( i_Ent, i_SoundType ) 
    { 
    switch ( i_SoundType ) 
    { 
    case POWERUP_SOUND : 
    { 
    emit_sound( i_Ent, CHAN_VOICE, ENT_SOUND1, VOL_NORM, ATTN_NORM, 0, PITCH_NORM ); 
    emit_sound( i_Ent, CHAN_BODY , ENT_SOUND2, 0.2, ATTN_NORM, 0, PITCH_NORM ); 
    } 
    case ACTIVATE_SOUND : 
    { 
    emit_sound( i_Ent, CHAN_VOICE, ENT_SOUND3, 0.5, ATTN_NORM, 1, 75 ); 
    } 
    case STOP_SOUND : 
    { 
    emit_sound( i_Ent, CHAN_BODY , ENT_SOUND2, 0.2, ATTN_NORM, SND_STOP, PITCH_NORM ); 
    emit_sound( i_Ent, CHAN_VOICE, ENT_SOUND3, 0.5, ATTN_NORM, SND_STOP, 75 ); 
    } 
    } 
    } 
    
    DrawLaser(i_Ent, const Float:v_Origin[3], const Float:v_EndOrigin[3] ) 
    { 
    new tcolor[3]; 
    new teamid = pev(i_Ent, LASERMINE_TEAM); 
    if(get_pcvar_num(g_LCLMODE) == 0) 
    { 
    switch(teamid){ 
    case 1:{ 
    tcolor[0] = 255; 
    tcolor[1] = 0; 
    tcolor[2] = 0; 
    } 
    case 2:{ 
    tcolor[0] = 0; 
    tcolor[1] = 0; 
    tcolor[2] = 255; 
    } 
    } 
    }else 
    { 
    tcolor[0] = 0; 
    tcolor[1] = 255; 
    tcolor[2] = 0; 
    } 
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY); 
    write_byte(TE_BEAMPOINTS); 
    engfunc(EngFunc_WriteCoord,v_Origin[0]); 
    engfunc(EngFunc_WriteCoord,v_Origin[1]); 
    engfunc(EngFunc_WriteCoord,v_Origin[2]); 
    engfunc(EngFunc_WriteCoord,v_EndOrigin[0]); //Random 
    engfunc(EngFunc_WriteCoord,v_EndOrigin[1]); //Random 
    engfunc(EngFunc_WriteCoord,v_EndOrigin[2]); //Random 
    write_short(beam); 
    write_byte(0); 
    write_byte(0); 
    write_byte(1); //Life 
    write_byte(5); //Width 
    write_byte(0); //wave 
    write_byte(tcolor[0]); // r 
    write_byte(tcolor[1]); // g 
    write_byte(tcolor[2]); // b 
    write_byte(get_pcvar_num(g_LCBRIGHT)); 
    write_byte(255); 
    message_end(); 
    } 
    /* 
    CreateDamage(iCurrent,DmgMAX,Float:Radius) 
    { 
    new AtkID = pev(iCurrent,LASERMINE_OWNER)// entity_get_int(iCurrent,LASERMINE_OWNER) 
    new TeamID= pev(iCurrent,LASERMINE_TEAM) //entity_get_int(iCurrent,LASERMINE_INT_TEAM) 
    new Player = -1; 
    new Float:distance,dmg; 
    new Float:tOrigin[3]; 
    new Float:vOrigin[3]; 
    new iHitHP,iHitTeam; 
    pev(iCurrent,pev_origin,vOrigin); 
    while((Player = engfunc(EngFunc_FindEntityInSphere, Player, vOrigin, Radius)) != 0) 
    { 
    if(is_user_alive(Player)) 
    { 
    pev(Player,pev_origin,tOrigin) 
    distance = get_distance_f(vOrigin, tOrigin) 
    dmg = floatround(DmgMAX - ((DmgMAX / Radius) * distance)) 
    iHitHP = pev_user_health(Player) - dmg 
    iHitTeam = int:bio_get_user_team(Player) 
    if(iHitHP <= 0) 
    { 
    if(iHitTeam != TeamID) 
    { 
    cs_set_user_money(AtkID,cs_get_user_money(AtkID) + get_pcvar_num(g_LFMONEY)) 
    set_score(AtkID,Player,1,iHitHP) 
    }else 
    { 
    if(get_pcvar_num(g_LFF)) 
    { 
    cs_set_user_money(AtkID,cs_get_user_money(AtkID) - get_pcvar_num(g_LFMONEY)) 
    set_score(AtkID,Player,-1,iHitHP) 
    } 
    } 
    }else 
    { 
    if(iHitTeam != TeamID || get_pcvar_num(g_LFF)) 
    { 
    //set_pev(Player,pev_health,iHitHP) 
    set_user_health(Player, iHitHP) 
    message_begin(MSG_ONE_UNRELIABLE, g_msgDamage, {0,0,0}, Player) 
    write_byte(dmg) 
    write_byte(dmg) 
    write_long(DMG_BULLET) 
    engfunc(EngFunc_WriteCoord,vOrigin[0]) 
    engfunc(EngFunc_WriteCoord,vOrigin[1]) 
    engfunc(EngFunc_WriteCoord,vOrigin[2]) 
    message_end() 
    } 
    } 
    } 
    Player = engfunc(EngFunc_FindEntityInSphere,Player,vOrigin,Radius) 
    } 
    return PLUGIN_CONTINUE 
    } 
    */ 
    CreateDamage(iCurrent,Float:DmgMAX,Float:Radius) 
    { 
    // Get given parameters 
    
    new Float:vecSrc[3]; 
    pev(iCurrent, pev_origin, vecSrc); 
    
    new AtkID =pev(iCurrent,LASERMINE_OWNER); 
    new TeamID=pev(iCurrent,LASERMINE_TEAM); 
    
    new ent = -1; 
    new Float:tmpdmg = DmgMAX; 
    
    new Float:kickback = 0.0; 
    
    // Needed for doing some nice calculations - 
    new Float:Tabsmin[3], Float:Tabsmax[3]; 
    new Float:vecSpot[3]; 
    new Float:Aabsmin[3], Float:Aabsmax[3]; 
    new Float:vecSee[3]; 
    new trRes; 
    new Float:flFraction; 
    new Float:vecEndPos[3]; 
    new Float:distance; 
    new Float:origin[3], Float:vecPush[3]; 
    new Float:invlen; 
    new Float:velocity[3]; 
    new iHitHP,iHitTeam; 
    // Calculate falloff 
    new Float:falloff; 
    if (Radius > 0.0) 
    { 
    falloff = DmgMAX / Radius; 
    } else { 
    falloff = 1.0; 
    } 
    
    // Find monsters and players inside a specifiec radius 
    while((ent = engfunc(EngFunc_FindEntityInSphere, ent, vecSrc, Radius)) != 0) 
    { 
    if(!pev_valid(ent)) continue; 
    if(!(pev(ent, pev_flags) & (FL_CLIENT | FL_FAKECLIENT | FL_MONSTER))) 
    { 
    // Entity is not a player or monster, ignore it 
    continue; 
    } 
    if(!pev_user_alive(ent)) continue; 
    // Reset data 
    kickback = 1.0; 
    tmpdmg = DmgMAX; 
    
    // The following calculations are provided by Orangutanz, THANKS! 
    // We use absmin and absmax for the most accurate information 
    pev(ent, pev_absmin, Tabsmin); 
    pev(ent, pev_absmax, Tabsmax); 
    xs_vec_add(Tabsmin,Tabsmax,Tabsmin); 
    xs_vec_mul_scalar(Tabsmin,0.5,vecSpot); 
    
    pev(iCurrent, pev_absmin, Aabsmin); 
    pev(iCurrent, pev_absmax, Aabsmax); 
    xs_vec_add(Aabsmin,Aabsmax,Aabsmin); 
    xs_vec_mul_scalar(Aabsmin,0.5,vecSee); 
    
    engfunc(EngFunc_TraceLine, vecSee, vecSpot, 0, iCurrent, trRes); 
    get_tr2(trRes, TR_flFraction, flFraction); 
    // Explosion can 'see' this entity, so hurt them! (or impact through objects has been enabled xD) 
    if (flFraction >= 0.9 || get_tr2(trRes, TR_pHit) == ent) 
    { 
    // Work out the distance between impact and entity 
    get_tr2(trRes, TR_vecEndPos, vecEndPos); 
    
    distance = get_distance_f(vecSrc, vecEndPos) * falloff; 
    tmpdmg -= distance; 
    if(tmpdmg < 0.0) 
    tmpdmg = 0.0; 
    
    // Kickback Effect 
    if(kickback != 0.0) 
    { 
    xs_vec_sub(vecSpot,vecSee,origin); 
    
    invlen = 1.0/get_distance_f(vecSpot, vecSee); 
    
    xs_vec_mul_scalar(origin,invlen,vecPush); 
    pev(ent, pev_velocity, velocity) 
    xs_vec_mul_scalar(vecPush,tmpdmg,vecPush); 
    xs_vec_mul_scalar(vecPush,kickback,vecPush); 
    xs_vec_add(velocity,vecPush,velocity); 
    
    if(tmpdmg < 60.0) 
    { 
    xs_vec_mul_scalar(velocity,12.0,velocity); 
    } else { 
    xs_vec_mul_scalar(velocity,4.0,velocity); 
    } 
    
    if(velocity[0] != 0.0 || velocity[1] != 0.0 || velocity[2] != 0.0) 
    { 
    // There's some movement todo - 
    set_pev(ent, pev_velocity, velocity) 
    } 
    } 
    
    iHitHP = pev_user_health(ent) - floatround(tmpdmg) 
    iHitTeam = int:cs_get_user_team(ent) 
    if(iHitHP <= 0) 
    { 
    if(iHitTeam != TeamID) 
    { 
    cs_set_user_money(AtkID,cs_get_user_money(AtkID) + get_pcvar_num(g_LFMONEY)) 
    set_score(AtkID,ent,1,iHitHP) 
    }else 
    { 
    if(get_pcvar_num(g_LFF)) 
    { 
    cs_set_user_money(AtkID,cs_get_user_money(AtkID) - get_pcvar_num(g_LFMONEY)) 
    set_score(AtkID,ent,-1,iHitHP) 
    } 
    } 
    }else 
    { 
    if(iHitTeam != TeamID || get_pcvar_num(g_LFF)) 
    { 
    //set_pev(Player,pev_health,iHitHP) 
    set_user_health(ent, iHitHP) 
    engfunc(EngFunc_MessageBegin,MSG_ONE_UNRELIABLE,g_msgDamage,{0.0,0.0,0.0},ent); 
    write_byte(floatround(tmpdmg)) 
    write_byte(floatround(tmpdmg)) 
    write_long(DMG_BULLET) 
    engfunc(EngFunc_WriteCoord,vecSrc[0]) 
    engfunc(EngFunc_WriteCoord,vecSrc[1]) 
    engfunc(EngFunc_WriteCoord,vecSrc[2]) 
    message_end() 
    } 
    } 
    } 
    } 
    
    return 
    } 
    
    bool:pev_user_alive(ent) 
    { 
    new deadflag = pev(ent,pev_deadflag); 
    if(deadflag != DEAD_NO) 
    return false; 
    return true; 
    } 
    
    CreateExplosion(iCurrent) 
    { 
    
    new Float:vOrigin[3]; 
    pev(iCurrent,pev_origin,vOrigin); 
    
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY); 
    write_byte(99); //99 = KillBeam 
    write_short(iCurrent); 
    message_end(); 
    
    engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, vOrigin, 0); 
    write_byte(TE_EXPLOSION); 
    engfunc(EngFunc_WriteCoord,vOrigin[0]); 
    engfunc(EngFunc_WriteCoord,vOrigin[1]); 
    engfunc(EngFunc_WriteCoord,vOrigin[2]); 
    write_short(boom); 
    write_byte(30); 
    write_byte(15); 
    write_byte(0); 
    message_end(); 
    } 
    
    CreateLaserDamage(iCurrent,isHit) 
    { 
    if(isHit < 0 ) return PLUGIN_CONTINUE 
    switch(get_pcvar_num(g_LDMGMODE)) 
    { 
    case 1: 
    { 
    if(pev(iCurrent,LASERMINE_HITING) == isHit) 
    return PLUGIN_CONTINUE 
    } 
    case 2: 
    { 
    if(pev(iCurrent,LASERMINE_HITING) == isHit) 
    { 
    static Float:cnt 
    static now,htime;now = floatround(get_gametime()) 
    
    pev(iCurrent,LASERMINE_COUNT,cnt) 
    htime = floatround(cnt) 
    if(now - htime < get_pcvar_num(g_LDSEC)) 
    { 
    return PLUGIN_CONTINUE; 
    }else{ 
    set_pev(iCurrent,LASERMINE_COUNT,get_gametime()) 
    } 
    }else 
    { 
    set_pev(iCurrent,LASERMINE_COUNT,get_gametime()) 
    } 
    } 
    } 
    
    new Float:vOrigin[3],Float:vEnd[3] 
    pev(iCurrent,pev_origin,vOrigin) 
    pev(iCurrent,pev_vuser1,vEnd) 
    
    new teamid = pev(iCurrent, LASERMINE_TEAM) 
    
    new szClassName[32] 
    new Alive,God 
    new iHitTeam,iHitHP,id 
    new hitscore 
    
    
    szClassName[0] = '^0' 
    pev(isHit,pev_classname,szClassName,32) 
    
    if((pev(isHit, pev_flags) & (FL_CLIENT | FL_FAKECLIENT | FL_MONSTER))) 
    { 
    Alive = pev_user_alive(isHit) 
    God = get_user_godmode(isHit) 
    if(!Alive || God) return PLUGIN_CONTINUE 
    
    iHitTeam = int:cs_get_user_team(isHit) 
    iHitHP = pev_user_health(isHit) - get_pcvar_num(g_LDMG) 
    id = pev(iCurrent,LASERMINE_OWNER)//, szNetName[32] 
    if(iHitHP <= 0) 
    { 
    if(iHitTeam != teamid) 
    { 
    emit_sound(isHit, CHAN_WEAPON, ENT_SOUND4, 1.0, ATTN_NORM, 0, PITCH_NORM ) 
    hitscore = 1 
    cs_set_user_money(id,cs_get_user_money(id) + get_pcvar_num(g_LFMONEY)) 
    set_score(id,isHit,hitscore,iHitHP) 
    }else 
    { 
    if(get_pcvar_num(g_LFF)) 
    { 
    emit_sound(isHit, CHAN_WEAPON, ENT_SOUND4, 1.0, ATTN_NORM, 0, PITCH_NORM ) 
    hitscore = -1 
    cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(g_LFMONEY)) 
    set_score(id,isHit,hitscore,iHitHP) 
    } 
    } 
    }else if(iHitTeam != teamid || get_pcvar_num(g_LFF)) 
    { 
    emit_sound(isHit, CHAN_WEAPON, ENT_SOUND4, 1.0, ATTN_NORM, 0, PITCH_NORM ) 
    set_user_health(isHit,iHitHP) 
    set_pev(iCurrent,LASERMINE_HITING,isHit); 
    
    engfunc(EngFunc_MessageBegin,MSG_ONE_UNRELIABLE,g_msgDamage,{0.0,0.0,0.0},isHit); 
    write_byte(get_pcvar_num(g_LDMG)) 
    write_byte(get_pcvar_num(g_LDMG)) 
    write_long(DMG_BULLET) 
    engfunc(EngFunc_WriteCoord,vOrigin[0]) 
    engfunc(EngFunc_WriteCoord,vOrigin[1]) 
    engfunc(EngFunc_WriteCoord,vOrigin[2]) 
    message_end() 
    } 
    }else if(equal(szClassName, ENT_CLASS_NAME3)) 
    { 
    new hl; 
    hl = pev_user_health(isHit); 
    set_user_health(isHit,hl-get_pcvar_num(g_LDMG)); 
    } 
    return PLUGIN_CONTINUE 
    } 
    
    stock pev_user_health(id) 
    { 
    new Float:health 
    pev(id,pev_health,health) 
    return floatround(health) 
    } 
    
    stock set_user_health(id,health) 
    { 
    health > 0 ? set_pev(id, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, id); 
    } 
    
    stock get_user_godmode(index) { 
    new Float:val 
    pev(index, pev_takedamage, val) 
    
    return (val == DAMAGE_NO) 
    } 
    
    stock set_user_frags(index, frags) 
    { 
    set_pev(index, pev_frags, float(frags)) 
    
    return 1 
    } 
    
    stock pev_user_frags(index) 
    { 
    new Float:frags; 
    pev(index,pev_frags,frags); 
    return floatround(frags); 
    } 
    
    set_score(id,target,hitscore,HP){ 
    
    new idfrags = pev_user_frags(id) + hitscore// get_user_frags(id) + hitscore 
    set_user_frags(id,idfrags) 
    //set_user_frags(id, idfrags) 
    //entity_set_float(id, EV_FL_frags, float(idfrags)) 
    
    new tarfrags = pev_user_frags(target) + 1 //get_user_frags(target) + 1 
    set_user_frags(target,tarfrags) 
    //set_user_frags(target,tarfrags) 
    //entity_set_float(target, EV_FL_frags, float(tarfrags)) 
    
    new idteam = int:cs_get_user_team(id) 
    new iddeaths = cs_get_user_deaths(id) 
    
    
    message_begin(MSG_ALL, g_msgDeathMsg, {0, 0, 0} ,0) 
    write_byte(id) 
    write_byte(target) 
    write_byte(0) 
    write_string(ENT_CLASS_NAME) 
    message_end() 
    
    message_begin(MSG_ALL, g_msgScoreInfo) 
    write_byte(id) 
    write_short(idfrags) 
    write_short(iddeaths) 
    write_short(0) 
    write_short(idteam) 
    message_end() 
    
    set_msg_block(g_msgDeathMsg, BLOCK_ONCE) 
    
    //entity_set_float(target, EV_FL_health,float(HP)) 
    set_user_health(target, HP) 
    //set_pev(target,pev_health,HP) 
    
    } 
    
    public BuyLasermine(id) 
    { 
    if( !CanCheck(id,1) ) return PLUGIN_CONTINUE 
    cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(g_LCOST)) 
    g_havemine[id]++; 
    client_print(id, print_chat, "%s %s",CHATTAG,STR_BOUGHT) 
    emit_sound(id, CHAN_ITEM, ENT_SOUND5, VOL_NORM, ATTN_NORM, 0, PITCH_NORM) 
    ShowAmmo(id) 
    return PLUGIN_HANDLED 
    } 
    
    ShowAmmo(id) 
    { 
    new ammo[51] 
    formatex(ammo, 50, "%s %i/%i",STR_STATE, g_havemine[id],get_pcvar_num(g_LAMMO)) 
    
    message_begin(MSG_ONE, g_msgStatusText, {0,0,0}, id) 
    write_byte(0) 
    write_string(ammo) 
    message_end() 
    } 
    
    public showInfo(id) 
    { 
    client_print(id, print_chat, STR_REF) 
    } 
    
    public say_lasermine(id){ 
    new said[32] 
    read_argv(1,said,31); 
    if( !get_pcvar_num( g_LENABLE ) ){ 
    // client_print(id, print_chat, "%s Lasermines are not currently active.",CHATTAG) 
    return PLUGIN_CONTINUE 
    } 
    
    if (equali(said,"/buy lasermine")||equali(said,"/lm")){ 
    BuyLasermine(id) 
    }else if (equali(said, "lasermine") || equali(said, "/lasermine")){ 
    const SIZE = 1024 
    new msg[SIZE+1],len = 0; 
    len += formatex(msg[len], SIZE - len, "<html><body>") 
    len += formatex(msg[len], SIZE - len, "<p><b>LaserMine</b></p><br/><br/>") 
    len += formatex(msg[len], SIZE - len, "<p>You can be setting the mine on the wall.</p><br/>") 
    len += formatex(msg[len], SIZE - len, "<p>That laser will give what touched it damage.</p><br/><br/>") 
    len += formatex(msg[len], SIZE - len, "<p><b>LaserMine Commands</b></p><br/><br/>") 
    len += formatex(msg[len], SIZE - len, "<p><b>Say /buy lasermine</b> or <b>Say /lm</b> //buying lasermine<br/>") 
    len += formatex(msg[len], SIZE - len, "<b>buy_lasermine</b> //bind ^"F2^" buy_lasermine : using F2 buying lasermine<br/>") 
    len += formatex(msg[len], SIZE - len, "<b>+setlaser</b> //bind mouse3 +setlaser : using mouse3 set lasermine on wall<br/>") 
    len += formatex(msg[len], SIZE - len, "</body></html>") 
    show_motd(id, msg, "Lasermine Entity help") 
    return PLUGIN_CONTINUE 
    } 
    else if (containi(said, "laser") != -1) { 
    showInfo(id) 
    return PLUGIN_CONTINUE 
    } 
    return PLUGIN_CONTINUE 
    } 
    
    public standing(id) 
    { 
    if (!g_settinglaser[id]) 
    return PLUGIN_CONTINUE 
    
    set_pev(id, pev_maxspeed, 1.0) 
    // ShowAmmo(id) 
    
    return PLUGIN_CONTINUE 
    } 
    
    public ltm_PostThink(id) 
    { 
    if (!g_settinglaser[id] && plsetting[id]){ 
    resetspeed(id) 
    } 
    else if (g_settinglaser[id] && !plsetting[id]) { 
    pev(id, pev_maxspeed,plspeed[id]) 
    set_pev(id, pev_maxspeed, 1.0) 
    } 
    plsetting[id] = g_settinglaser[id] 
    return FMRES_IGNORED 
    } 
    
    public ltm_PreThink(id) 
    { 
    // if (!pev_user_alive(id) || g_settinglaser[id] == true || is_user_bot(id) || get_pcvar_num(g_LCMDMODE) == 1) 
    // return; 
    
    // if(pev(id, pev_button ) & IN_USE && !(pev(id, pev_oldbuttons ) & IN_USE )) 
    // CreateLaserMine_Progress(id) 
    
    
    new tgt,body,Float:vo[3],Float:to[3]; 
    get_user_aiming(id,tgt,body); 
    if(pev_valid(tgt)) { 
    pev(id,pev_origin,vo); 
    pev(tgt,pev_origin,to); 
    new EntityName[32]; 
    pev(tgt, pev_classname, EntityName, 31); 
    if(equal(EntityName, ENT_CLASS_NAME)) { 
    new OwnerName[32]; 
    get_user_name(pev(tgt, LASERMINE_OWNER), OwnerName, 31); 
    switch (pev(tgt,LASERMINE_TEAM)) 
    { 
    case CS_TEAM_T: set_hudmessage(200, 0, 0, -1.0, 0.60, 0, 6.0, 1.1, 0.0, 0.0, -1) 
    case CS_TEAM_CT:set_hudmessage(0, 200, 230, -1.0, 0.60, 0, 6.0, 1.1, 0.0, 0.0, -1) 
    } 
    show_hudmessage(id, "Owner: %s^nViata: %d ", OwnerName, pev(tgt,pev_health)) 
    } 
    } 
    } 
    
    resetspeed(id) 
    { 
    set_pev(id, pev_maxspeed, plspeed[id]) 
    } 
    
    public client_putinserver(id){ 
    g_deployed[id] = 0; 
    g_havemine[id] = 0; 
    DeleteTask(id); 
    return PLUGIN_CONTINUE 
    } 
    
    public client_disconnect(id){ 
    if(!get_pcvar_num( g_LENABLE )) 
    return PLUGIN_CONTINUE 
    DeleteTask(id); 
    RemoveAllTripmines(id); 
    return PLUGIN_CONTINUE 
    } 
    
    
    public newround(id){ 
    if(!get_pcvar_num( g_LENABLE )) 
    return PLUGIN_CONTINUE 
    pev(id, pev_maxspeed,plspeed[id]) 
    DeleteTask(id); 
    RemoveAllTripmines(id); 
    delaycount(id); 
    SetStartAmmo(id); 
    return PLUGIN_CONTINUE 
    } 
    
    public DeathEvent(){ 
    if(!get_pcvar_num( g_LENABLE )) 
    return PLUGIN_CONTINUE 
    
    new id = read_data(2) 
    if(is_user_connected(id)) DeleteTask(id); 
    return PLUGIN_CONTINUE 
    } 
    
    public RemoveAllTripmines( i_Owner ) 
    { 
    new iEnt = g_MaxPL + 1; 
    new clsname[32]; 
    while( ( iEnt = engfunc( EngFunc_FindEntityByString, iEnt, "classname", ENT_CLASS_NAME ) ) ) 
    { 
    if ( i_Owner ) 
    { 
    if( pev( iEnt, LASERMINE_OWNER ) != i_Owner ) 
    continue; 
    clsname[0] = '^0' 
    pev( iEnt, pev_classname, clsname, sizeof(clsname)-1 ); 
    
    if ( equali( clsname, ENT_CLASS_NAME ) ) 
    { 
    PlaySound( iEnt, STOP_SOUND ); 
    RemoveEntity( iEnt ); 
    } 
    } 
    else 
    set_pev( iEnt, pev_flags, FL_KILLME ); 
    } 
    g_deployed[i_Owner]=0; 
    } 
    
    SetStartAmmo(id) 
    { 
    new stammo = get_pcvar_num(g_LSTAMMO); 
    if(stammo <= 0) return PLUGIN_CONTINUE; 
    g_havemine[id] = (g_havemine[id] <= stammo) ? stammo : g_havemine[id]; 
    return PLUGIN_CONTINUE; 
    } 
    
    public CutDeploy_onDamage(id) 
    { 
    if(get_user_health(id) < 1) 
    DeleteTask(id); 
    } 
    
    #if defined BIOHAZARD_SUPPORT 
    public event_infect2(id) 
    { 
    DeleteTask(id); 
    return PLUGIN_CONTINUE 
    } 
    #endif 
    
    DeleteTask(id) 
    { 
    if (task_exists((TASK_PLANT + id))) 
    { 
    remove_task((TASK_PLANT + id)) 
    } 
    if (task_exists((TASK_RELEASE + id))) 
    { 
    remove_task((TASK_RELEASE + id)) 
    } 
    g_settinglaser[id] = false 
    return PLUGIN_CONTINUE; 
    } 
    
    stock set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) 
    { 
    static 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 
    } 
    
    // Gets offset data 
    get_offset_value(id, type) 
    { 
    new key = -1; 
    switch(type) 
    { 
    case OFFSET_TEAM: key = OFFSET_TEAM; 
    case OFFSET_MONEY: 
    { 
    #if defined UL_MONEY_SUPPORT 
    return cs_get_user_money_ul(id); 
    #else 
    key = OFFSET_MONEY; 
    #endif 
    } 
    case OFFSET_DEATH: key = OFFSET_DEATH; 
    } 
    
    if(key != -1) 
    { 
    if(is_amd64_server()) key += 25; 
    return get_pdata_int(id, key); 
    } 
    
    return -1; 
    } 
    
    // Sets offset data 
    set_offset_value(id, type, value) 
    { 
    new key = -1; 
    switch(type) 
    { 
    case OFFSET_TEAM: key = OFFSET_TEAM; 
    case OFFSET_MONEY: 
    { 
    #if defined UL_MONEY_SUPPORT 
    return cs_set_user_money_ul(id, value); 
    #else 
    key = OFFSET_MONEY; 
    
    // Send Money message to update player's HUD 
    message_begin(MSG_ONE_UNRELIABLE, g_msgMoney, {0,0,0}, id); 
    write_long(value); 
    write_byte(1); // Flash (difference between new and old money) 
    message_end(); 
    #endif 
    } 
    case OFFSET_DEATH: key = OFFSET_DEATH; 
    } 
    
    if(key != -1) 
    { 
    if(is_amd64_server()) key += 25; 
    set_pdata_int(id, key, value); 
    } 
    
    return PLUGIN_CONTINUE; 
    }

    sa se modifice ca atunci cand un zombie sparge laserulul unui human, zombiile respectiv sa primeasca o suma de 10 credite. multumesc

  3. Nume : plugin credite

    Versiune : nu o stiu.

    Descriere detaliata : as vrea daca se poate face un plugin pentru modul zombie plague sa fie gen daca intra un jucator pe server si sta 5 minute sa ii de-a 5 ammo daca sta 10 minute 15 ammo si tot asa.. multumesc.

  4. apare si eroarea aceasta

    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0) SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0) Segmentation fault FATAL ERROR (shutting down): PF_MessageBegin_I: with no target entity

  5. de cateva zile primesc eroarea asta 

     

     

    [ZP] Total Registered Custom Game Modes: 2
    [ZP] Total Registered Custom Special Humans: 0
    [ZP] Total Registered Custom Special Zombies: 0
    [ZP] Total Registered Zombie Classes: 22
    [ZP] Total Registered Extra Items: 10
    L 10/22/2017 - 17:15:40: Function "bind_x_key" was not found
    L 10/22/2017 - 17:15:40: [AMXX] Displaying debug trace (plugin "11zombie.amxx")
    L 10/22/2017 - 17:15:40: [AMXX] Run time error 19: function not found 
    L 10/22/2017 - 17:15:40: [AMXX] [0] 11zombie.sma::plugin_init (line 127)
    Executing AMX Mod X Configuration File 
    Scrolling message displaying frequency: 10:00 minutes
    [ZP][Bank] connected to: 'sqlite://-***@127.0.0.1/zm/zp_bank'
    Executing Lasermine Configuration File 
    Menu item 17 added to Menus Front-End: "Plugin Cvars" from plugin "pluginmenu.amxx"
    Menu item 18 added to Menus Front-End: "Plugin Commands" from plugin "pluginmenu.amxx"
    L 10/22/2017 - 17:15:41: [admin.amxx] Login: "Z3RO<2><>" became an admin (account "Z3RO") (access "bcdefijmpq") (address "188.241.200.160")
    L 10/22/2017 - 17:15:41: [zm_vip.amxx] Mihai94 a devenit VIP. (SteamID: "STEAM_1:0:31614788") (IP: "109.166.129.236") (Flags: "abdeghjklm")
    L 10/22/2017 - 17:15:41: [admin.amxx] Login: "Mihai94<11><>" became an admin (account "Mihai94") (access "abcdefghijklmnopqrstu") (address "109.166.129.236")
    L 10/22/2017 - 17:15:41: [zm_vip.amxx] SnowM. a devenit VIP. (SteamID: "STEAM_1:0:1556705048") (IP: "95.77.199.48") (Flags: "abdeghjklm")
    L 10/22/2017 - 17:15:41: [admin.amxx] Login: "SnowM.<14><>" became an admin (account "SnowM.") (access "bcdefijmp") (address "95.77.199.48")
    L 10/22/2017 - 17:15:41: [zm_vip.amxx] n0t.like?!.: a devenit VIP. (SteamID: "STEAM_1:0:224994086") (IP: "2.25.112.114") (Flags: "abdeghjklm")
    L 10/22/2017 - 17:15:41: [admin.amxx] Login: "n0t.like?!.:<4><>" became an admin (account "n0t.like?!.:") (access "bcefij") (address "2.25.112.114")
    L 10/22/2017 - 17:15:42: [admincmd.amxx] Cmd: "..::zp.freakz.ro::.. Zombie Pla<0><><>" set cvar (name "sv_unlag") (value "1")
    [AMXX] Cvar "sv_unlag" changed to "1"
    Dropped DyGy from server
    Reason: Client sent 'drop'
    Dropped Mihai94 from server
    Reason: Client sent 'drop'
    Dropped n0t.like?!.: from server
    Reason: Client sent 'drop'
    86.121.155.223:27005:reconnect
    Dropped osama from server
    Reason: Client sent 'drop'
    Dropped Jackal from server
    Reason: Client sent 'drop'
    2.25.112.114:27005:reconnect
    L 10/22/2017 - 17:15:51: [zm_vip.amxx] n0t.like?!.: a devenit VIP. (SteamID: "STEAM_1:0:224994086") (IP: "2.25.112.114") (Flags: "abdeghjklm")
    L 10/22/2017 - 17:15:51: [admin.amxx] Login: "n0t.like?!.:<20><>" became an admin (account "n0t.like?!.:") (access "bcefij") (address "2.25.112.114")
    109.166.129.236:11906:reconnect
    L 10/22/2017 - 17:15:52: [zm_vip.amxx] Mihai94 a devenit VIP. (SteamID: "STEAM_1:0:31614788") (IP: "109.166.129.236") (Flags: "abdeghjklm")
    L 10/22/2017 - 17:15:52: [admin.amxx] Login: "Mihai94<21><>" became an admin (account "Mihai94") (access "abcdefghijklmnopqrstu") (address "109.166.129.236")
    109.66.101.48:27005:reconnect
    L 10/22/2017 - 17:16:05: [admincmd.amxx] Cmd: "..::zp.freakz.ro::.. Zombie Pla<0><><>" set cvar (name "sv_unlag") (value "1")
    [AMXX] Cvar "sv_unlag" changed to "1"
    Dropped Cheloo Achilles from server
    Reason: Client sent 'drop'
    117.102.61.23:27005:reconnect
    Dropped mNkTeH from server
    Reason: Client sent 'drop'
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    Dropped black snake from server
    Reason: Client sent 'drop'
    L 10/22/2017 - 17:16:31: *ADMIN* Mihai94 <109.166.129.236> - n0t.like?!.: Transformat Intr-un Zombi (Pla
    L 10/22/2017 - 17:16:33: *ADMIN* Mihai94 <109.166.129.236> - Mihai94 Transformat In Om (Players: 4/24)
    Dropped YISS from server
    Reason: Client sent 'drop'
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    L 10/22/2017 - 17:17:16: [admincmd.amxx] Cmd: "..::zp.freakz.ro::.. Zombie Pla<0><><>" set cvar (name "sv_unlag") (value "1")
    [AMXX] Cvar "sv_unlag" changed to "1"
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    Dropped giuseppe from server
    Reason: Client sent 'drop'
    L 10/22/2017 - 17:17:33: [adminchat.amxx] Chat: "Z3RO<2><>" chat ":"
    L 10/22/2017 - 17:17:36: [adminchat.amxx] Chat: "Z3RO<2><>" chat ":D"
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    213.214.57.117:27005:reconnect
    Dropped No Swear from server
    Reason: Client sent 'drop'
    Dropped Darak from server
    Reason: Client sent 'drop'
    Dropped Sang from server
    Reason: Client sent 'drop'
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    Dropped Zp.Freakz from server
    Reason: Client sent 'drop'
    Dropped giuseppe from server
    Reason: Client sent 'drop'
    SV_BuildSoundMsg: common/wpn_denyselect.wav not precached (0)
    Host_Error: WriteDest_Parm: not a client
    [ZPXP] Saving your clients XP.
    Dropped Cheloo Achilles from server
    Reason: Server shutting down
    Dropped Z3RO from server
    Reason: Server shutting down
    Dropped n0t.like?!.: from server
    Reason: Server shutting down
    Dropped osama from server
    Reason: Server shutting down
    Dropped Mihai94 from server
    Reason: Server shutting down
    Dropped DyGy from server
    Reason: Server shutting down
    Dropped SnowM. from server
    Reason: Server shutting down
    Dropped mNkTeH from server
    Reason: Server shutting down
    Dropped No Swear from server
    Reason: Server shutting down
    Dropped Sang from server
    Reason: Server shutting down
    Segmentation fault
    /home/buildbot/buildslave/steam_rel_client_linux/build/src/clientdll/configstore.cpp (1292) : Assertion Failed: Saving local config store failed during shutdown
    /home/buildbot/buildslave/steam_rel_client_linux/build/src/clientdll/configstore.cpp (101) : Assertion Failed: ConfigStore (InstallConfigStore) is dirty, and being destroyed, we're discarding data
    FATAL ERROR (shutting down): Host_Error: WriteDest_Parm: not a client

  6. e sv meu dar problema era ca facea la tot servarul lag ms ori cum de ajutor am rezolvat problema era de la un plugin care imi putea da voie sa bag mai multe modele..

  7.  salut am un servar de zombi la inceput de runda frameaza putin 2-3 secunde si mai face asta cand se da moduri tot 2-3 secunde dar problema e sa se face lagu doar cand suntem 6+ jucatori.

  8. Descriere:
    Adauga optiunea de skilluri pe serverele de zm. Momentan pentru ZPA 1.6.1 dar se paote modifica pe clasic cu usurinta. Detalii in sma.
     
    Info:
    Nume: Skilluri
    Versiune: 1.0
    Autor: EDUTz
     
    Descarcare:CLICK 
     
    Instalare:
     
    Fisierul zm_skilluri.amxx il puneti in addons/amxmodx/plugins
    Intrati in fisierul addons->amxmodx->configs->plugins-zplague.ini si adaugati la urma:
    zm_skilluri.amxx

    Pentru modificari lasati post aici.

    • Like 1
  9. Descriere:
    Aplica ceata in funCtie de modurile de pe server. Este facut pe scheletul ZPA 1.6.1, dar se paote modifica cu usurinta pentru celelalte moduri.
     
    Info:
    Nume: Ceata
    Versiune: 1.0
    Autor: EDUTz
     
    Descarcare: CLICK
    Descarcare ZP Shade: CLICK
     
    Instalare:
     
    Fisierul zp_aceata_edy.amxx il puneti in addons/amxmodx/plugins
    Intrati in fisierul addons->amxmodx->configs->plugins-zplague.ini si adaugati la urma: 
    zp_aceata_edy.amxx

     

  10. Descriere:
    Regleaza setarile celor care se plang de lag. Pluginul detecteaza daca cineva scrie cuvantul lag in chat si automat ii sugereaza sa-i modifice setarile. Puteti modifica in sursa setarile respective dupa bunul plac. 
     
    Info:
    Nume: Meniu Lag
    Versiune: 1.0
    Autor: EDUTz 
     
    Descarcare: CLICK
     
    Instalare:
     
    Fisierul meniulag.amxx il puneti in addons/amxmodx/plugins
    Intrati in fisierul addons->amxmodx->configs->plugins-zplague.ini si adaugati la urma: 
    meniulag.amxx

     

  11. Descriere:
    Pluginul de XP folosit pe zpa. Folositi-l cu grija ca e fragil. Banca e inclusa in plugin, 100% eficienta. 
     
    Info:
    Nume: zpaxpsystem
    Versiune: 2.0
    Autor: EDUTz
     
    Descarcare: CLICK
     
    Instalare:
     
    Fisierul zpa_levelsystem.amxx il puneti in addons/amxmodx/plugins
    Intrati in fisierul addons->amxmodx->configs->plugins-zplague.ini si adaugati la urma:  
    zpa_levelsystem.amxx

    Informatii aditionale FOARTE IMPORTANTE:

    new Host[]     = "localhost"
    new User[]    = "user"
    new Pass[]     = "parola"
    new Db[]     = "db"
    Aici veti introduce baza de date pentru a salva banca toate cele necesare. Fara o baza de date mysql, serverul nu va merge !!!
    In folderul amxmodx/logs veti face un folder numit credite. Aici vor fi salvate loguri in legatura cu creditele facute de playeri in caz de nevoie.
    Nu incercati sa modificati prea multe lucruri, sa nu-l stricati. Postati aici daca vreti ceva major de schimbat.
     
  12. Descriere:
    Blocheaza anumite conturi de a mai intra pe server. Conditia pentru a nu mai fi primiti este de a avea (DOAR) literele ef (in users.ini sau in mysql) 
     
    Info:
    Nume: Cont Blocat
    Versiune: 1.0
    Autor: EDUTz 

     

    Descarcare: CLICK
     
    Instalare:
     
    Fisierul contblocat.amxx il puneti in addons/amxmodx/plugins
    Intrati in fisierul addons->amxmodx->configs->plugins.ini si adaugati la urma: 
    contblocat.amxx

     

  13. Descriere: 
    Porneste o runda custom (boss mode)  
     
    Info:
    Nume: Oberon Boss Mode
    Versiune: 1.0
    Autor: EDUTz 
     
     
    *FUNCTIONEAZA DOAR PE ZOMBIE PLAGUE ADVANCED (1.6.1) IL PUTETI CONVERTI CU USURINTA SI PENTRU ALTE VERSIUNI DE ZP INAFARA DE (ZOMBIE PLAGUE 4.3)
    *POSIBIL SA APARA BUGURI SAU SA PICE SERVERUL, FOLOSITI-L PE RISCUL VOSTRU!
    *RESURSELE LE CAUTATI PE NET(LE GASITI IN SMA)
     
    Descarcare: click
     
     
    Instalare:
     
    Fisierul d_oberon_mode.amxx il puneti in addons/amxmodx/plugins
    Intrati in fisierul addons->amxmodx->configs->plugins-zplague.ini si adaugati la urma: 
    d_oberon_mode.amxx

    Poza:

    LUf77Qn.jpg

    • Like 1
  14. Nume : furiosul cerbus


    Versiune : zombie plague special 3.2


    Descriere detaliata : as dori ca acest plugin sa nu isi mai poata folosi abilitatea la moduri [abilitatea lui este ca adunci cand este activata trece prin lasermine si  cel care trage in el nu ii poate lua dmg cainelui  as vrea ca atunci cand ruleaza un mod sa nu isi mai poata folosi abilitatea respectiva]


     


    plugin zombie cerbus:

    #include <amxmodx>


    #include <zombieplague>

    #include <engine>

    #include <fun>

    #include <fakemeta>

    #include <hamsandwich>

    #include <zombiexp>

     

    #define ID_FURY (taskid - TASK_FURY)

     

    // Task offsets

    enum (+= 100)

    {

    TASK_FURY

    }

     

    /*================================================================================

     [Customizations]

    =================================================================================*/

     

    // Zombie Attributes

    new const zclass_name[] = { "Furiosul"}

    new const zclass_info[] = { "Cainele Furios Trece Prin Laser" }

    new const zclass_model[] = { "Cerberus_frk_14" }

    new const zclass_clawmodel[] = { "v_doghands.mdl" }

    const zclass_health = 13500

    const zclass_speed = 770

    const Float:zclass_gravity = 0.6

    const Float:zclass_knockback = 0.5

    const zclass_level = 14 // level required to use

     

    new const idle[] = "zombie_plague/cerberus_idle.wav"

    new const fury[] = "zombie_plague/cerberus_fury.wav"

    new const normaly[] = "zombie_plague/cerberus_normaly.wav"

     

    /*================================================================================

     Customization ends here!

     Any edits will be your responsibility

    =================================================================================*/  

     

    // Plugin info.

    #define PLUGIN "[ZP] Zombie Class: Cerberus Dog"

    #define VERSION "0.1"

    #define AUTHOR "DJHD!"

     

    // Variables

    new g_zclassid, g_veces[33], i_fury_time[33], g_maxplayers

     

    // Cvar Pointers

    new cvar_fury, cvar_furytime

     

    /*================================================================================

     [init, CFG and Precache]

    =================================================================================*/

     

    public plugin_init()

    {

    register_plugin(PLUGIN, VERSION, AUTHOR)

     

    cvar_fury = register_cvar("zp_cerberus_fury", "1")

    cvar_furytime = register_cvar("zp_cerberus_fury_time", "30.0")

     

    static szCvar[30]

    formatex(szCvar, charsmax(szCvar), "v%s by %s", VERSION, AUTHOR)

    register_cvar("zp_zclass_cerberus", szCvar, FCVAR_SERVER|FCVAR_SPONLY)

     

    register_logevent("roundStart", 2, "1=Round_Start")

    register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")

     

    g_maxplayers = get_maxplayers()

    }

     

    public plugin_precache()

    {

    g_zclassid = zpxp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback, zclass_level) 

     

    precache_sound(idle)

    precache_sound(fury)

    precache_sound(normaly)

    }

     

    /*================================================================================

     [Zombie Plague Forwards]

    =================================================================================*/

     

    public zp_user_infected_post(id, infector)

    {

    if (zp_get_user_zombie_class(id) == g_zclassid)

    {

    client_print(id, print_chat, "[Zombi Cerberus] Puteti Folosi Abilitatea %d Apasand Tasta - ^"E^"", get_pcvar_num(cvar_fury))

     

    g_veces[id] = get_pcvar_num(cvar_fury)

    i_fury_time[id] = get_pcvar_num(cvar_furytime)

    emit_sound(id, CHAN_STREAM, idle, 1.0, ATTN_NORM, 0, PITCH_HIGH)

    remove_task(id)

    }

    }

     

    public zp_user_humanized_post(taskid)

    {

    new id = ID_FURY

    remove_task(id+TASK_FURY)

    set_user_godmode(id, 0)

    }

     

     

    /*================================================================================

     [Main Forwards]

    =================================================================================*/

     

    public fw_PlayerPreThink(id)

    {

    if (!is_user_alive(id))

    return FMRES_IGNORED

     

    new button = get_user_button(id)

    new oldbutton = get_user_oldbutton(id)

     

    if (zp_get_user_zombie(id) && (zp_get_user_zombie_class(id) == g_zclassid))

    {

    if (!(oldbutton & IN_USE) && (button & IN_USE))

    clcmd_furia(id)

    }

     

    return PLUGIN_CONTINUE

    }

     

    /*================================================================================

     [internal Functions]

    =================================================================================*/

     

    public clcmd_furia(taskid)

    {

    new id = ID_FURY

     

    if(!is_user_alive(id) || !is_user_connected(id)|| !zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_zombie_class(id) != g_zclassid)

    return PLUGIN_HANDLED

     

    if(g_veces[id] > 0)

    {

    g_veces[id] = g_veces[id] -1

     

    set_task(0.1, "effects", id+TASK_FURY, _, _, "b")

    i_fury_time[id] = get_pcvar_num(cvar_furytime)

     

    set_task(1.0, "ShowHUD", id+TASK_FURY, _, _, "a", i_fury_time[id])

     

    emit_sound(id, CHAN_STREAM, fury, 1.0, ATTN_NORM, 0, PITCH_HIGH)

    }

    else

    {

    client_print(id, print_chat, "[Zombi Cerberus] Furia A Fost Epuizata.")

    return PLUGIN_HANDLED

    }

     

    return PLUGIN_HANDLED

    }

     

    public effects(id)

    {

    if(!is_user_alive(id) || !is_user_connected(id)|| !zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_zombie_class(id) != g_zclassid)

    return

     

    static origin[3]

    get_user_origin(id, origin)

     

    message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

    write_byte(TE_PARTICLEBURST) // TE id

    write_coord(origin[0]) // x

    write_coord(origin[1]) // y

    write_coord(origin[2]) // z

    write_short(130) // radius

    write_byte(70) // color

    write_byte(3) // duration (will be randomized a bit)

    message_end()

     

    message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

    write_byte(TE_DLIGHT) // TE id

    write_coord(origin[0]) // x

    write_coord(origin[1]) // y

    write_coord(origin[2]) // z

    write_byte(22) // radius

    write_byte(255) // r

    write_byte(0) // g

    write_byte(30) // b

    write_byte(2) // life

    write_byte(0) // decay rate

    message_end()

     

    set_user_godmode(id, 1)

     

    set_task(get_pcvar_float(cvar_furytime), "remove_fury", id)

    }

     

    public ShowHUD(id)

    {

    if(is_user_alive(id))

    {

    i_fury_time[id] = i_fury_time[id] - 1;

    set_hudmessage(200, 100, 0, -1.0, -0.46, 0, 1.0, 1.1, 0.0, 0.0, -1)

    show_hudmessage(id, "Furie Zombi: %d", i_fury_time[id]+1)

    }

    else

    {

    remove_task(id+TASK_FURY)

    }

    }

     

    public remove_fury(taskid)

    {

    new id = ID_FURY

     

    remove_task(id+TASK_FURY)

     

    set_user_godmode(id, 0)

    emit_sound(id, CHAN_STREAM, normaly, 1.0, ATTN_NORM, 0, PITCH_HIGH)

    }

     

    public roundStart()

    {

    for(new i = 1; i <= g_maxplayers; i++)

    {

    i_fury_time = get_pcvar_num(cvar_furytime)

    remove_task(i)

    }

    }

     


     


    am aceasta clasa de zm infector care interzice grenda la moduri adica cand incepe un mod nu ii mai da grenada si as vrea sa fie ca aceta

    #include <amxmodx> 


    #include <cstrike> 

    #include <fun> 

    #include <zombie_plague_special>

    #include <zombiexp> 

     

    // Zombie Attributes 

    new const zclass_name[] = { "Infectorul" } // name 

    new const zclass_info[] = { "\rLa Fiecare Runda Primeste 1 HE" } // description 

    new const zclass_model[] = { "infector_ZM" } // model 

    new const zclass_clawmodel[] = { "v_knife_zombie.mdl" } // claw model 

    const zclass_health = 10100 // health 

    const zclass_speed = 730 // speed 

    const Float:zclass_gravity = 0.6 // gravity 

    const Float:zclass_knockback = 1.0 // knockback 

    const zclass_level = 12 // level required to use 

     

    new g_zclassid, Ammo 

     

    public plugin_init(){ 

    Ammo = register_cvar("zp_infecter_amt", "1") 


     

    public plugin_precache() 


    register_plugin("[ZP] Zombie Class: Infecter Zombie", "1.2", "Zombiezzz") 

     

    // Register the new class and store ID for reference 

    g_zclassid = zpxp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback, zclass_level) 


     

    public zp_user_infected_post(id, infector) 


    if (zp_get_user_zombie_class(id) == g_zclassid && !zp_get_user_nemesis(id)) 


    client_print(id, print_chat, "[ZP] Zombie Infector Nu Primeste Grenada La Moduri!") 

    if(zp_is_nemesis_round() || zp_is_survivor_round() || zp_is_assassin_round() || zp_is_sniper_round() || zp_is_predator_round() || zp_is_bombardier_round() || zp_is_dragon_round() || zp_is_berserker_round() || zp_is_wesker_round() || zp_is_spy_round()) 


    client_print(id, print_chat, "[ZP] Nu primesti grenada la moduri !!!") 

    return PLUGIN_HANDLED 

    }else{ 

    give_item (id, "weapon_hegrenade") 

    set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,300) 

    cs_set_user_bpammo(id, CSW_HEGRENADE, get_pcvar_num(Ammo)) 



    return PLUGIN_HANDLED 


    /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE 

    *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } 

    */ 

    public zp_user_humanized_post(id) 


    if (zp_get_user_zombie_class(id) != g_zclassid) return; 

     

    //user turned human 

    zp_round_started_human(id); 


     

    public zp_round_started_human(id) 


    if (zp_get_user_zombie_class(id) != g_zclassid) return; 

     

    // User turned human 

    // Undo any additional changes we have made here 

     

     


     


     


×
×
  • Create New...