hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.16. 15:46



Jelenlévő felhasználók

Jelenleg 382 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 380 vendég

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [Bot]az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása Hozzászólás a témához  [1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Non Zp Rex Csomag
HozzászólásElküldve:2013.04.22. 17:06 
Offline
Veterán
Avatar

Csatlakozott:2011.11.17. 15:48
Hozzászólások:1904
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 54 alkalommal
Helló.
Valaki meg tudná azt nekem csinálni hogy ez a Rex csomag ne Zombi Módhoz legyen . Úgy gondolom hogy nem zombi módhoz kellene hanem mód nélküli szerverre .
SMA Forráskód: [ Mindet kijelol ]
  1. AMXX.TRY.HU Forrás Megtekintés - www.amxx.try.hu - Plugin Megtekintése
  2. #include <amxmodx>
  3. #include <amxmisc>
  4. #include <cstrike>
  5. #include <fakemeta>
  6. #include <engine>
  7. #include <fun>
  8. #include <zombieplague>
  9.  
  10. #define ADMIN_PRESENT_SPAWN ADMIN_RCON // access level for zp_ps_spawn command
  11. #define ADMIN_PRESENT_REMOVE ADMIN_RCON // access level for zp_ps_remove command
  12. #define ADMIN_PRESENT_STOP ADMIN_RCON // access level for zp_ps_stop command
  13. #define ADMIN_PRESENT_START ADMIN_RCON // access level for zp_ps_start command
  14.  
  15. #define PRESENT_LIMIT 40 // maximum amount of presents
  16.  
  17. new const present_model[] = "models/zombie_plague/presents.mdl" // present model
  18.  
  19. enum Color {
  20. NORMAL = 1,
  21. GREEN,
  22. TEAM_COLOR,
  23. GREY,
  24. RED,
  25. BLUE,
  26. }
  27.  
  28. new TeamName[][] = {
  29. "",
  30. "TERRORIST",
  31. "CT",
  32. "SPECTATOR"
  33. }
  34.  
  35. new file[78],total_presents, Float:present_data[PRESENT_LIMIT + 1][3],
  36. present_glow,present_light,present_light_radius,present_rot,
  37. spawn_time,min_presents,max_presents,
  38. value_ap,value_armor,value_hp_h,value_hp_z
  39. public plugin_precache()
  40. {
  41. precache_model(present_model)
  42. precache_sound("zombie_plague/present_spawn.wav")
  43. precache_sound("zombie_plague/get_present.wav")
  44. }
  45.  
  46. public plugin_init() {
  47. register_plugin("[ZP] Addon: Present Spawner", "1.1", "Bill=Thailand=[UP] , <VeCo>")
  48. register_cvar("zp_addon_present_spawner_version","1.1",FCVAR_SERVER | FCVAR_SPONLY)
  49.  
  50. register_logevent("round_end",2,"1=Round_End")
  51. register_logevent("round_start",2,"1=Round_Start")
  52.  
  53. present_glow = register_cvar("zp_ps_present_glow","1")
  54. present_light = register_cvar("zp_ps_present_light","1")
  55. present_light_radius = register_cvar("zp_ps_present_light_radius","8")
  56. present_rot = register_cvar("zp_ps_present_rotate","1")
  57.  
  58. spawn_time = register_cvar("zp_ps_spawn_presents_time","30.0")
  59. min_presents = register_cvar("zp_ps_min_spawn_presents","5")
  60. max_presents = register_cvar("zp_ps_max_spawn_presents","5")
  61.  
  62. value_ap = register_cvar("zp_ps_present_ammo_pack_value","1")
  63. value_armor = register_cvar("zp_ps_present_armour_value","10")
  64. value_hp_h = register_cvar("zp_ps_present_human_health_value","20")
  65. value_hp_z = register_cvar("zp_ps_present_zombie_health_value","100")
  66.  
  67. register_concmd("zp_ps_spawn","admin_present_spawn",ADMIN_PRESENT_SPAWN)
  68. register_concmd("zp_ps_remove","admin_present_remove",ADMIN_PRESENT_REMOVE)
  69. register_concmd("zp_ps_stop","admin_present_stop",ADMIN_PRESENT_STOP)
  70. register_concmd("zp_ps_start","admin_present_start",ADMIN_PRESENT_START)
  71.  
  72. register_touch("info_present","player","present_touch")
  73. register_think("info_present","present_think")
  74.  
  75. new mapname[32]
  76. get_mapname(mapname,31)
  77. format(file,77,"addons/amxmodx/configs/presents/%s.ini",mapname)
  78.  
  79. load_presents()
  80. }
  81.  
  82. public admin_present_spawn(id,level,cid)
  83. {
  84. if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
  85.  
  86. if(total_presents == PRESENT_LIMIT)
  87. {
  88. console_print(id,"[ZP] Present limit exceeded! Maximum amount of presents is %i.",PRESENT_LIMIT)
  89. return PLUGIN_HANDLED
  90. }
  91.  
  92. new Float:origin[3]
  93. entity_get_vector(id,EV_VEC_origin,origin)
  94.  
  95. origin[2] -= 30.0
  96.  
  97. save_present(id,origin)
  98.  
  99. return PLUGIN_HANDLED
  100. }
  101.  
  102. public admin_present_remove(id,level,cid)
  103. {
  104. if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
  105.  
  106. remove_all_presents()
  107. console_print(id,"[ZP] All presents were removed for this round.")
  108.  
  109. return PLUGIN_HANDLED
  110. }
  111.  
  112. public admin_present_stop(id,level,cid)
  113. {
  114. if(!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
  115.  
  116. remove_all_presents()
  117. total_presents = 0
  118. console_print(id,"[ZP] All presents were removed for this map.")
  119.  
  120. return PLUGIN_HANDLED
  121. }
  122.  
  123. public admin_present_start(id,level,cid)
  124. {
  125. if(!cmd_access(id,level,cid,1) || total_presents > 0) return PLUGIN_HANDLED
  126.  
  127. remove_all_presents()
  128. load_presents()
  129. console_print(id,"[ZP] All presents were loaded for this map.")
  130.  
  131. return PLUGIN_HANDLED
  132. }
  133.  
  134. public round_end()
  135. {
  136. if(!total_presents) return
  137. remove_all_presents()
  138. }
  139.  
  140. public round_start()
  141. {
  142. if(!total_presents) return
  143. remove_task(1337)
  144. set_task(get_pcvar_float(spawn_time),"spawn_random_presents",1337)
  145. }
  146.  
  147. public spawn_random_presents()
  148. {
  149. new num = random_num(get_pcvar_num(min_presents),get_pcvar_num(max_presents))
  150. if(num != 0) for(new ii=0;ii<num;ii++) spawn_present(present_data[random(total_presents)])
  151. }
  152.  
  153. public present_touch(ent,id)
  154. {
  155. if(zp_get_user_nemesis(id) || zp_get_user_survivor(id)) return
  156. give_random_present(ent,id)
  157. }
  158.  
  159. public give_random_present(ent,id)
  160. {
  161. new num = random_num(1,19)
  162. switch(num)
  163. {
  164. case 1:
  165. {
  166. ColorChat(id,GREEN,"[ZP]^x01 Te kaptal^x04 %i^x01 loszercsomagot!",get_pcvar_num(value_ap))
  167. zp_set_user_ammo_packs(id,zp_get_user_ammo_packs(id) + get_pcvar_num(value_ap))
  168. }
  169. case 2:
  170. {
  171. if(zp_get_user_zombie(id))
  172. {
  173. give_random_present(ent,id)
  174. } else {
  175. ColorChat(id,GREEN,"[ZP]^x01 Te kaptal^x04 %i^x01 armort!",get_pcvar_num(value_armor))
  176. cs_set_user_armor(id,get_pcvar_num(value_armor),CS_ARMOR_KEVLAR)
  177. }
  178. }
  179. case 3:
  180. {
  181. if(zp_get_user_zombie(id))
  182. {
  183. give_random_present(ent,id)
  184. } else {
  185. ColorChat(id,GREEN,"[ZP]^x01 Kaptal ejjelatot!")
  186. zp_set_user_nightvision(id,1)
  187. }
  188. }
  189. case 4:
  190. {
  191. if(zp_get_user_zombie(id))
  192. {
  193. give_random_present(ent,id)
  194. } else {
  195. ColorChat(id,GREEN,"[ZP]^x01 Kaptal HE-granatot!")
  196. give_item(id,"weapon_hegrenade")
  197. }
  198. }
  199. case 5:
  200. {
  201. if(zp_get_user_zombie(id))
  202. {
  203. give_random_present(ent,id)
  204. } else {
  205. ColorChat(id,GREEN,"[ZP]^x01 Kaptal vakito granatot!")
  206. give_item(id,"weapon_flashbang")
  207. }
  208. }
  209. case 6:
  210. {
  211. if(zp_get_user_zombie(id))
  212. {
  213. give_random_present(ent,id)
  214. } else {
  215. ColorChat(id,GREEN,"[ZP]^x01 Kaptal Fust granatot!")
  216. give_item(id,"weapon_smokegrenade")
  217. }
  218. }
  219. case 7:
  220. {
  221. if(zp_get_user_zombie(id))
  222. {
  223. give_random_present(ent,id)
  224. } else {
  225. ColorChat(id,GREEN,"[ZP]^x01 Kaptal longJumpot!")
  226. give_item(id, "item_longjump")
  227. }
  228. }
  229. case 8:
  230. {
  231. if(zp_get_user_zombie(id))
  232. {
  233. ColorChat(id,GREEN,"[ZP]^x01 Kaptal^x04 %i^x01 eletet!",get_pcvar_num(value_hp_z))
  234. set_user_health(id,get_user_health(id) + get_pcvar_num(value_hp_z))
  235. } else {
  236. ColorChat(id,GREEN,"[ZP]^x01 Kaptal^x04 %i^x01 eletet!",get_pcvar_num(value_hp_h))
  237. set_user_health(id,get_user_health(id) + get_pcvar_num(value_hp_h))
  238. }
  239. }
  240. case 9:
  241. {
  242. if(zp_get_user_zombie(id))
  243. {
  244. give_random_present(ent,id)
  245. } else {
  246. ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 m249^x01!")
  247. give_item(id,"weapon_m249")
  248. cs_set_user_bpammo(id,CSW_M249,100)
  249. }
  250. }
  251. case 10:
  252. {
  253. if(zp_get_user_zombie(id))
  254. {
  255. give_random_present(ent,id)
  256. } else {
  257. ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 sg550^x01!")
  258. give_item(id,"weapon_sg550")
  259. cs_set_user_bpammo(id,CSW_SG550,30)
  260. }
  261. }
  262. case 11:
  263. {
  264. if(zp_get_user_zombie(id))
  265. {
  266. give_random_present(ent,id)
  267. } else {
  268. ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 g3sg1^x01!")
  269. give_item(id,"weapon_g3sg1")
  270. cs_set_user_bpammo(id,CSW_G3SG1,20)
  271. }
  272. }
  273. case 12:
  274. {
  275. if(zp_get_user_zombie(id))
  276. {
  277. give_random_present(ent,id)
  278. } else {
  279. ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 mp5^x01!")
  280. give_item(id,"weapon_mp5navy")
  281. cs_set_user_bpammo(id,CSW_MP5NAVY,80)
  282. }
  283. }
  284. case 13:
  285. {
  286. if(zp_get_user_zombie(id))
  287. {
  288. give_random_present(ent,id)
  289. } else {
  290. ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 m3^x01!")
  291. give_item(id,"weapon_m3")
  292. cs_set_user_bpammo(id,CSW_M3,10)
  293. }
  294. }
  295. case 14:
  296. {
  297. if(zp_get_user_zombie(id))
  298. {
  299. give_random_present(ent,id)
  300. } else {
  301. ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 elite^x01!")
  302. give_item(id,"weapon_elite")
  303. cs_set_user_bpammo(id,CSW_ELITE,80)
  304. }
  305. }
  306. case 15:
  307. {
  308. if(zp_get_user_zombie(id))
  309. {
  310. give_random_present(ent,id)
  311. } else {
  312. ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 deagle^x01!")
  313. give_item(id,"weapon_deagle")
  314. cs_set_user_bpammo(id,CSW_DEAGLE,21)
  315. }
  316. }
  317. case 16:
  318. {
  319. if(zp_get_user_zombie(id))
  320. {
  321. give_random_present(ent,id)
  322. } else {
  323. ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 xm1014^x01!")
  324. give_item(id,"weapon_xm1014")
  325. cs_set_user_bpammo(id,CSW_XM1014,14)
  326. }
  327. }
  328. case 17:
  329. {
  330. if(zp_get_user_zombie(id))
  331. {
  332. give_random_present(ent,id)
  333. } else {
  334. ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 mac10^x01!")
  335. give_item(id,"weapon_mac10")
  336. cs_set_user_bpammo(id,CSW_MAC10,21)
  337. }
  338. }
  339. case 18:
  340. {
  341. if(zp_get_user_zombie(id))
  342. {
  343. give_random_present(ent,id)
  344. } else {
  345. ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 tmp^x01!")
  346. give_item(id,"weapon_tmp")
  347. cs_set_user_bpammo(id,CSW_TMP,80)
  348. }
  349. }
  350. case 19:
  351. {
  352. if(zp_get_user_zombie(id))
  353. {
  354. give_random_present(ent,id)
  355. } else {
  356. ColorChat(id,GREEN,"[ZP]^x01 Kaptal -^x04 p228^x01!")
  357. give_item(id,"weapon_p228")
  358. cs_set_user_bpammo(id,CSW_P228,30)
  359. }
  360. }
  361. }
  362.  
  363. emit_sound(ent,CHAN_AUTO,"zombie_plague/get_present.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM)
  364. remove_entity(ent)
  365. }
  366.  
  367. public present_think(ent)
  368. {
  369. if(get_pcvar_num(present_light))
  370. {
  371. static Float:origin[3]
  372. entity_get_vector(ent,EV_VEC_origin,origin)
  373.  
  374. engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
  375. write_byte(TE_DLIGHT)
  376. engfunc(EngFunc_WriteCoord, origin[0])
  377. engfunc(EngFunc_WriteCoord, origin[1])
  378. engfunc(EngFunc_WriteCoord, origin[2])
  379. write_byte(get_pcvar_num(present_light_radius))
  380. write_byte(entity_get_int(ent,EV_INT_iuser1))
  381. write_byte(entity_get_int(ent,EV_INT_iuser2))
  382. write_byte(entity_get_int(ent,EV_INT_iuser3))
  383. write_byte(2)
  384. write_byte(0)
  385. message_end()
  386. }
  387.  
  388. if(get_pcvar_num(present_rot))
  389. {
  390. static Float:angles[3]
  391. entity_get_vector(ent,EV_VEC_angles,angles)
  392.  
  393. angles[1]--
  394.  
  395. entity_set_vector(ent,EV_VEC_angles,angles)
  396. }
  397.  
  398. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01)
  399. }
  400.  
  401. public remove_all_presents() remove_entity_name("info_present")
  402.  
  403.  
  404. public load_presents()
  405. {
  406. total_presents = 0
  407.  
  408. new buffer[128], x[12],y[12],z[12]
  409. if(file_exists(file))
  410. {
  411. new save = fopen(file,"rt")
  412.  
  413. if(!save) return
  414.  
  415. while(!feof(save))
  416. {
  417. fgets(save,buffer,127)
  418.  
  419. if(buffer[0] == ';' || !buffer[0]) continue
  420.  
  421. parse(buffer, x,11, y,11, z,11)
  422.  
  423. present_data[total_presents][0] = str_to_float(x)
  424. present_data[total_presents][1] = str_to_float(y)
  425. present_data[total_presents][2] = str_to_float(z)
  426.  
  427. total_presents++
  428. }
  429.  
  430. fclose(save)
  431. }
  432. }
  433.  
  434. public spawn_present(Float:origin[3])
  435. {
  436. new ent = create_entity("info_target")
  437. if(ent)
  438. {
  439. entity_set_string(ent,EV_SZ_classname,"info_present")
  440. entity_set_model(ent,present_model)
  441.  
  442. entity_set_int(ent,EV_INT_solid,SOLID_TRIGGER)
  443. entity_set_int(ent,EV_INT_movetype,MOVETYPE_TOSS)
  444.  
  445. entity_set_float(ent,EV_FL_gravity,1.0)
  446.  
  447. if(get_pcvar_num(present_glow))
  448. {
  449. entity_set_int(ent,EV_INT_iuser1,random(255))
  450. entity_set_int(ent,EV_INT_iuser2,random(255))
  451. entity_set_int(ent,EV_INT_iuser3,random(255))
  452.  
  453. 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)
  454. }
  455.  
  456. entity_set_origin(ent,origin)
  457.  
  458. entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01)
  459.  
  460. emit_sound(ent,CHAN_AUTO,"zombie_plague/present_spawn.wav",VOL_NORM,ATTN_NORM,0,PITCH_NORM)
  461. }
  462. }
  463.  
  464. public save_present(id,Float:origin[3])
  465. {
  466. new save = fopen(file,"at")
  467. if(save)
  468. {
  469. fprintf(save,"%.2f %.2f %.2f^n",origin[0],origin[1],origin[2])
  470. fclose(save)
  471.  
  472. console_print(id,"[ZP] Present Spawn: successfully added at x:y:z(%.2f : %.2f : %.2f).",origin[0],origin[1],origin[2])
  473. load_presents()
  474. }
  475. }
  476.  
  477. ColorChat(id, Color:type, const msg[], {Float, Sql, Result,_}:...) {
  478. new message[256]
  479.  
  480. switch(type) {
  481. case NORMAL: message[0] = 0x01
  482. case GREEN: message[0] = 0x04
  483. default: message[0] = 0x03
  484. }
  485.  
  486. vformat(message[1], 251, msg, 4)
  487.  
  488. message[192] = '^0'
  489.  
  490. new team, ColorChange, index, MSG_Type
  491.  
  492. if(id) {
  493. MSG_Type = MSG_ONE
  494. index = id
  495. } else {
  496. index = FindPlayer()
  497. MSG_Type = MSG_ALL
  498. }
  499.  
  500. team = get_user_team(index)
  501. ColorChange = ColorSelection(index, MSG_Type, type)
  502.  
  503. ShowColorMessage(index, MSG_Type, message)
  504.  
  505. if(ColorChange)
  506. Team_Info(index, MSG_Type, TeamName[team])
  507. }
  508.  
  509. ShowColorMessage(id, type, message[]) {
  510. static bool:saytext_used
  511. static get_user_msgid_saytext
  512.  
  513. if(!saytext_used) {
  514. get_user_msgid_saytext = get_user_msgid("SayText")
  515. saytext_used = true
  516. }
  517.  
  518. message_begin(type, get_user_msgid_saytext, _, id)
  519. write_byte(id)
  520. write_string(message)
  521. message_end()
  522. }
  523.  
  524. Team_Info(id, type, team[]) {
  525. static bool:teaminfo_used
  526. static get_user_msgid_teaminfo
  527.  
  528. if(!teaminfo_used) {
  529. get_user_msgid_teaminfo = get_user_msgid("TeamInfo")
  530. teaminfo_used = true
  531. }
  532.  
  533. message_begin(type, get_user_msgid_teaminfo, _, id)
  534. write_byte(id)
  535. write_string(team)
  536. message_end()
  537.  
  538. return 1
  539. }
  540.  
  541. ColorSelection(index, type, Color:Type) {
  542. switch(Type) {
  543. case RED: return Team_Info(index, type, TeamName[1])
  544. case BLUE: return Team_Info(index, type, TeamName[2])
  545. case GREY: return Team_Info(index, type, TeamName[0])
  546. }
  547.  
  548. return 0
  549. }
  550.  
  551. FindPlayer() {
  552. new i = -1
  553.  
  554. while(i <= get_maxplayers()) {
  555. if(is_user_connected(++i))
  556. return i
  557. }
  558.  
  559. return -1
  560. }
  561. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  562. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  563. */
  564.  


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése: Rendezés 
Új téma nyitása Hozzászólás a témához  [1 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 30 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole