Jump to content

Zp.Mihai

Membru

Community Reputation

4 Neutral

About Zp.Mihai

  • Rank
    Membru avansat

Contact Methods

  • Skype:
    Mihai Caddy

Profile Information

  • Country
    Romania
  • Gender
    Male
  • City:
    Barlad

Recent Profile Visitors

340 profile views
  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. Zp.Mihai

    modificare lasermine

    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. Zp.Mihai

    plugin credite

    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. Zp.Mihai

    problema host_error

    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. Zp.Mihai

    problema host_error

    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. # Descriere: sa fie un cvar sau ceva de genul ca atunci cand un owner se va face nemessis sa isi poata da viata infinita pt a putea tine o runda free. # Comenzi : nu stiu. # Cvar-uri : nu stiu.
  7. Zp.Mihai

    Problema LAG

    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..
  8. Zp.Mihai

    Problema LAG

    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.
  9. Zp.Mihai

    [Plugin] ZP Skilluri

    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.
  10. Zp.Mihai

    [PLUGIN] ZP Ceata Moduri

    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
  11. Zp.Mihai

    [Plugin] Anti-Lag

    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
  12. 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.
  13. Zp.Mihai

    [PLUGIN] Cont Blocat

    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
  14. Zp.Mihai

    [PLUGIN] Oberon Boss Mode

    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:
  15. Zp.Mihai

    modificare plugin clasa zombie plague

    As vrea ca la Moduri sa nusi mai foloseasca Abliltatea.
×