Sziasztok. Az lenne a fontos kérésem hogy valaki megcsinálná nekem a Rex-csomagot hogy: Ne forogjon Ne legyen benne +HP -HP Ne legyen benne +Gravitáció Ne legyen benne +ammopack -ammopack Amikor megkapjuk a világítást a csomagból csak fehér legyen a fény Legyen benne lasermine itt a sma: #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fakemeta> #include <engine> #include <fun> #include <zombieplague>
#define ADMIN_PRESENT_SPAWN ADMIN_RCON // access level for zp_ps_spawn command #define ADMIN_PRESENT_REMOVE ADMIN_RCON // access level for zp_ps_remove command #define ADMIN_PRESENT_STOP ADMIN_RCON // access level for zp_ps_stop command #define ADMIN_PRESENT_START ADMIN_RCON // access level for zp_ps_start command
#define PRESENT_LIMIT 40 // maximum amount of presents
new const present_model[] = "models/zombie_plague/presents.mdl" // present model
enum Color { NORMAL = 1, GREEN, TEAM_COLOR, GREY, RED, BLUE, }
new TeamName[][] = { "", "TERRORIST", "CT", "SPECTATOR" }
new file[78],total_presents, Float:present_data[PRESENT_LIMIT + 1][3], present_glow,present_light,present_light_radius,present_rot, spawn_time,min_presents,max_presents, value_ap,value_armor,value_hp_h,value_hp_z public plugin_precache() { precache_model(present_model) precache_sound("zombie_plague/present_spawn.wav") precache_sound("zombie_plague/get_present.wav") }
public plugin_init() { register_plugin("[ZP] Addon: Present Spawner", "1.1", "Bill=Thailand=[UP] , <VeCo>") register_cvar("zp_addon_present_spawner_version","1.1",FCVAR_SERVER | FCVAR_SPONLY) register_logevent("round_end",2,"1=Round_End") register_logevent("round_start",2,"1=Round_Start") present_glow = register_cvar("zp_ps_present_glow","1") present_light = register_cvar("zp_ps_present_light","1") present_light_radius = register_cvar("zp_ps_present_light_radius","8") present_rot = register_cvar("zp_ps_present_rotate","1") spawn_time = register_cvar("zp_ps_spawn_presents_time","30.0") min_presents = register_cvar("zp_ps_min_spawn_presents","5") max_presents = register_cvar("zp_ps_max_spawn_presents","5") value_ap = register_cvar("zp_ps_present_ammo_pack_value","1") value_armor = register_cvar("zp_ps_present_armour_value","10") value_hp_h = register_cvar("zp_ps_present_human_health_value","20") value_hp_z = register_cvar("zp_ps_present_zombie_health_value","100") register_concmd("zp_ps_spawn","admin_present_spawn",ADMIN_PRESENT_SPAWN) register_concmd("zp_ps_remove","admin_present_remove",ADMIN_PRESENT_REMOVE) register_concmd("zp_ps_stop","admin_present_stop",ADMIN_PRESENT_STOP) register_concmd("zp_ps_start","admin_present_start",ADMIN_PRESENT_START) register_touch("info_present","player","present_touch") register_think("info_present","present_think") new mapname[32] get_mapname(mapname,31) format(file,77,"addons/amxmodx/configs/presents/%s.ini",mapname) load_presents() }
public admin_present_spawn(id,level,cid) { if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED if(total_presents == PRESENT_LIMIT) { console_print(id,"[ZP] Present limit exceeded! Maximum amount of presents is %i.",PRESENT_LIMIT) return PLUGIN_HANDLED } new Float:origin[3] entity_get_vector(id,EV_VEC_origin,origin) origin[2] -= 30.0 save_present(id,origin) return PLUGIN_HANDLED }
public admin_present_remove(id,level,cid) { if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED remove_all_presents() console_print(id,"[ZP] All presents were removed for this round.") return PLUGIN_HANDLED }
public admin_present_stop(id,level,cid) { if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED remove_all_presents() total_presents = 0 console_print(id,"[ZP] All presents were removed for this map.") return PLUGIN_HANDLED }
public admin_present_start(id,level,cid) { if(!cmd_access(id,level,cid,1) || total_presents > 0) return PLUGIN_HANDLED remove_all_presents() load_presents() console_print(id,"[ZP] All presents were loaded for this map.") return PLUGIN_HANDLED }
public round_end() { if(!total_presents) return remove_all_presents() }
public round_start() { if(!total_presents) return remove_task(1337) set_task(get_pcvar_float(spawn_time),"spawn_random_presents",1337) }
public spawn_random_presents() { new num = random_num(get_pcvar_num(min_presents),get_pcvar_num(max_presents)) if(num != 0) for(new ii=0;ii<num;ii++) spawn_present(present_data[random(total_presents)]) }
public present_touch(ent,id) { if(zp_get_user_nemesis(id) || zp_get_user_survivor(id)) return give_random_present(ent,id) }
public give_random_present(ent,id) { new num = random_num(1,19) switch(num) { case 1: { ColorChat(id,GREEN,"[ZP]^x01 Te kaptal^x04 %i^x01 loszercsomagot!",get_pcvar_num(value_ap)) zp_set_user_ammo_packs(id,zp_get_user_ammo_packs(id) + get_pcvar_num(value_ap)) } case 2: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Te kaptal^x04 %i^x01 armort!",get_pcvar_num(value_armor)) cs_set_user_armor(id,get_pcvar_num(value_armor),CS_ARMOR_KEVLAR) } } case 3: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal ejjelatot!") zp_set_user_nightvision(id,1) } } case 4: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal HE-granatot!") give_item(id,"weapon_hegrenade") } } case 5: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal vakito granatot!") give_item(id,"weapon_flashbang") } } case 6: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal Fust granatot!") give_item(id,"weapon_smokegrenade") } } case 7: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal longJumpot!") give_item(id, "item_longjump") } } case 8: { if(zp_get_user_zombie(id)) { ColorChat(id,GREEN,"[ZP]^x01 Kaptal^x04 %i^x01 eletet!",get_pcvar_num(value_hp_z)) set_user_health(id,get_user_health(id) + get_pcvar_num(value_hp_z)) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal^x04 %i^x01 eletet!",get_pcvar_num(value_hp_h)) set_user_health(id,get_user_health(id) + get_pcvar_num(value_hp_h)) } } case 9: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 m249^x01!") give_item(id,"weapon_m249") cs_set_user_bpammo(id,CSW_M249,100) } } case 10: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 sg550^x01!") give_item(id,"weapon_sg550") cs_set_user_bpammo(id,CSW_SG550,30) } } case 11: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 g3sg1^x01!") give_item(id,"weapon_g3sg1") cs_set_user_bpammo(id,CSW_G3SG1,20) } } case 12: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 mp5^x01!") give_item(id,"weapon_mp5navy") cs_set_user_bpammo(id,CSW_MP5NAVY,80) } } case 13: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 m3^x01!") give_item(id,"weapon_m3") cs_set_user_bpammo(id,CSW_M3,10) } } case 14: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 elite^x01!") give_item(id,"weapon_elite") cs_set_user_bpammo(id,CSW_ELITE,80) } } case 15: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 deagle^x01!") give_item(id,"weapon_deagle") cs_set_user_bpammo(id,CSW_DEAGLE,21) } } case 16: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 xm1014^x01!") give_item(id,"weapon_xm1014") cs_set_user_bpammo(id,CSW_XM1014,14) } } case 17: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 mac10^x01!") give_item(id,"weapon_mac10") cs_set_user_bpammo(id,CSW_MAC10,21) } } case 18: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 tmp^x01!") give_item(id,"weapon_tmp") cs_set_user_bpammo(id,CSW_TMP,80) } } case 19: { if(zp_get_user_zombie(id)) { give_random_present(ent,id) } else { ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 p228^x01!") give_item(id,"weapon_p228") cs_set_user_bpammo(id,CSW_P228,30) } } } emit_sound(ent,CHAN_AUTO,"zombie_plague/get_present.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM) remove_entity(ent) }
public present_think(ent) { if(get_pcvar_num(present_light)) { static Float:origin[3] entity_get_vector(ent,EV_VEC_origin,origin) engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0) write_byte(TE_DLIGHT) engfunc(EngFunc_WriteCoord, origin[0]) engfunc(EngFunc_WriteCoord, origin[1]) engfunc(EngFunc_WriteCoord, origin[2]) write_byte(get_pcvar_num(present_light_radius)) write_byte(entity_get_int(ent,EV_INT_iuser1)) write_byte(entity_get_int(ent,EV_INT_iuser2)) write_byte(entity_get_int(ent,EV_INT_iuser3)) write_byte(2) write_byte(0) message_end() } if(get_pcvar_num(present_rot)) { static Float:angles[3] entity_get_vector(ent,EV_VEC_angles,angles) angles[1]-- entity_set_vector(ent,EV_VEC_angles,angles) } entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) }
public remove_all_presents() remove_entity_name("info_present")
public load_presents() { total_presents = 0 new buffer[128], x[12],y[12],z[12] if(file_exists(file)) { new save = fopen(file,"rt") if(!save) return while(!feof(save)) { fgets(save,buffer,127) if(buffer[0] == ';' || !buffer[0]) continue parse(buffer, x,11, y,11, z,11) present_data[total_presents][0] = str_to_float(x) present_data[total_presents][1] = str_to_float(y) present_data[total_presents][2] = str_to_float(z) total_presents++ } fclose(save) } }
public spawn_present(Float:origin[3]) { new ent = create_entity("info_target") if(ent) { entity_set_string(ent,EV_SZ_classname,"info_present") entity_set_model(ent,present_model) entity_set_int(ent,EV_INT_solid,SOLID_TRIGGER) entity_set_int(ent,EV_INT_movetype,MOVETYPE_TOSS) entity_set_float(ent,EV_FL_gravity,1.0) if(get_pcvar_num(present_glow)) { entity_set_int(ent,EV_INT_iuser1,random(255)) entity_set_int(ent,EV_INT_iuser2,random(255)) entity_set_int(ent,EV_INT_iuser3,random(255)) set_rendering(ent,kRenderFxGlowShell,entity_get_int(ent,EV_INT_iuser1),entity_get_int(ent,EV_INT_iuser2),entity_get_int(ent,EV_INT_iuser3),kRenderNormal,60) } entity_set_origin(ent,origin) entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) emit_sound(ent,CHAN_AUTO,"zombie_plague/present_spawn.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM) } }
public save_present(id,Float:origin[3]) { new save = fopen(file,"at") if(save) { fprintf(save,"%.2f %.2f %.2f^n",origin[0],origin[1],origin[2]) fclose(save) console_print(id,"[ZP] Present Spawn: successfully added at x:y:z(%.2f : %.2f : %.2f).",origin[0],origin[1],origin[2]) load_presents() } }
ColorChat(id, Color:type, const msg[], {Float, Sql, Result,_}:...) { new message[256]
switch(type) { case NORMAL: message[0] = 0x01 case GREEN: message[0] = 0x04 default: message[0] = 0x03 }
vformat(message[1], 251, msg, 4)
message[192] = '^0'
new team, ColorChange, index, MSG_Type
if(id) { MSG_Type = MSG_ONE index = id } else { index = FindPlayer() MSG_Type = MSG_ALL }
team = get_user_team(index) ColorChange = ColorSelection(index, MSG_Type, type)
ShowColorMessage(index, MSG_Type, message)
if(ColorChange) Team_Info(index, MSG_Type, TeamName[team]) }
ShowColorMessage(id, type, message[]) { static bool:saytext_used static get_user_msgid_saytext
if(!saytext_used) { get_user_msgid_saytext = get_user_msgid("SayText") saytext_used = true }
message_begin(type, get_user_msgid_saytext, _, id) write_byte(id) write_string(message) message_end() }
Team_Info(id, type, team[]) { static bool:teaminfo_used static get_user_msgid_teaminfo
if(!teaminfo_used) { get_user_msgid_teaminfo = get_user_msgid("TeamInfo") teaminfo_used = true }
message_begin(type, get_user_msgid_teaminfo, _, id) write_byte(id) write_string(team) message_end()
return 1 }
ColorSelection(index, type, Color:Type) { switch(Type) { case RED: return Team_Info(index, type, TeamName[1]) case BLUE: return Team_Info(index, type, TeamName[2]) case GREY: return Team_Info(index, type, TeamName[0]) }
return 0 }
FindPlayer() { new i = -1
while(i <= get_maxplayers()) { if(is_user_connected(++i)) return i }
return -1 } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par } */
Aki ezt megcsinálná nekem annak nagyon megköszönném
_________________ Magyar Biohazard szervert keresek, ha kell segítek is.
|