hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 360 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 358 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: Téli plugin szerkesztése
HozzászólásElküldve:2014.11.21. 18:19 
Offline
Lelkes
Avatar

Csatlakozott:2013.01.18. 15:06
Hozzászólások:27
Megköszönt másnak: 25 alkalommal
Üdv,
Azt szeretném ha crazyboy téli pluginját szerkeztené át nekem valaki a következő képpen,

Megszerezhető ajándékok:
    +35 HP
    +35 AP
    Taktikai Pajzs (v_shield)
    Glock (2 golyóval)
    Glow (aura random színekkel)
    Kisebb gravitáció (lehetőleg cvar-al állítható legyen)
    Nagyobb gyorsaság (lehetőleg cvar-al állítható legyen)
    Mikulás sapka
    Mikulás modell

Illetve hogy a pluginban található mp5-re készített különleges fegyver és a bpammo-s ajándék ki legyen belőle véve.
Előre is köszönöm :)


................................................
Téli Plugin crazyboy edition
................................................


SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <engine>
  3. #include <fakemeta>
  4. #include <fun>
  5. #include <amxmisc>
  6. #include <colorchat>
  7. #include <cstrike>
  8. #include <hamsandwich>
  9.  
  10. #define ice_model "models/jegkocka.mdl"
  11.  
  12. const PEV_NADE_TYPE = pev_flTimeStepSound
  13. const NADE_TYPE_CRB = 9987
  14. const Float:NADE_EXPLOSION_RADIUS = 240.0
  15.  
  16. new bool:fagyva[33]
  17. static Float:o[3]
  18. static ent[33]
  19.  
  20. new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame
  21.  
  22.  
  23. new cvar_dmg, cvar_range, cvar_speed
  24.  
  25. new SW_MODEL[64] = "models/crb/minden.mdl"
  26. new SW_SOUND[64] = "weapons/swfire1.wav"
  27. new explosion, trail, white
  28. new bool:lohet[33] = true
  29. public fm_startFrame(){
  30.  
  31. static id
  32. for (id = 1; id <= 32; id++)
  33. {
  34. if(is_user_connected(id))
  35. wp_forward(id)
  36. }
  37. }
  38. public wp_forward(player)
  39. {
  40. new wpnid = get_user_weapon(player)
  41. if(wpnid == CSW_MP5NAVY)
  42. {
  43. if((pev(player,pev_button)&IN_ATTACK2)){
  44. if(lohet[player] == true) {
  45. attack2(player)
  46. lohet[player]=false
  47. set_task(3.0, "ujralohet", player)
  48. }
  49. else client_print(player, print_center, "A fegyver újratölt kérlek várj!")
  50. }
  51.  
  52. }
  53. }
  54. public ujralohet(id){
  55. lohet[id] = true;
  56. client_print(id, print_center, "A fegyver készen áll!")
  57. }
  58. public attack2(player) {
  59. new sw = create_entity("info_target")
  60. if(sw == 0) return PLUGIN_CONTINUE
  61.  
  62. entity_set_string(sw, EV_SZ_classname, "sw_entityname")
  63. entity_set_model(sw, SW_MODEL)
  64.  
  65. entity_set_size(sw, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0})
  66. entity_set_int(sw, EV_INT_movetype, MOVETYPE_FLY)
  67. entity_set_int(sw, EV_INT_solid, SOLID_BBOX)
  68.  
  69. new Float:vSrc[3]
  70. entity_get_vector(player, EV_VEC_origin, vSrc)
  71.  
  72. new Float:Aim[3],Float:origin[3]
  73. VelocityByAim(player, 64, Aim)
  74. entity_get_vector(player,EV_VEC_origin,origin)
  75.  
  76. vSrc[0] += Aim[0]
  77. vSrc[1] += Aim[1]
  78. entity_set_origin(sw, vSrc)
  79.  
  80. new Float:velocity[3], Float:angles[3]
  81. VelocityByAim(player, get_pcvar_num(cvar_speed), velocity)
  82.  
  83. entity_set_vector(sw, EV_VEC_velocity, velocity)
  84. vector_to_angle(velocity, angles)
  85. entity_set_vector(sw, EV_VEC_angles, angles)
  86. entity_set_edict(sw,EV_ENT_owner,player)
  87. entity_set_float(sw, EV_FL_takedamage, 1.0)
  88.  
  89. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  90. write_byte(TE_BEAMFOLLOW)
  91. write_short(sw)
  92. write_short(trail)
  93. write_byte(25)
  94. write_byte(5)
  95. write_byte(224)
  96. write_byte(224)
  97. write_byte(255)
  98. write_byte(255)
  99. message_end()
  100.  
  101. emit_sound(sw, CHAN_WEAPON, SW_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM)
  102. return PLUGIN_CONTINUE
  103. }
  104. public pfn_touch(ptr, ptd) {
  105. if(is_valid_ent(ptr)) {
  106. new classname[32]
  107. entity_get_string(ptr,EV_SZ_classname,classname,31)
  108. if(equal(classname, "sw_entityname")) {
  109. new Float:fOrigin[3]
  110. new iOrigin[3]
  111. entity_get_vector(ptr, EV_VEC_origin, fOrigin)
  112. FVecIVec(fOrigin,iOrigin)
  113. sw_radius_damage(ptr)
  114.  
  115. message_begin(MSG_BROADCAST,SVC_TEMPENTITY,iOrigin)
  116. write_byte(TE_EXPLOSION)
  117. write_coord(iOrigin[0])
  118. write_coord(iOrigin[1])
  119. write_coord(iOrigin[2])
  120. write_short(explosion)
  121. write_byte(30)
  122. write_byte(15)
  123. write_byte(0)
  124. message_end()
  125.  
  126. message_begin(MSG_ALL,SVC_TEMPENTITY,iOrigin)
  127. write_byte(TE_BEAMCYLINDER)
  128. write_coord(iOrigin[0])
  129. write_coord(iOrigin[1])
  130. write_coord(iOrigin[2])
  131. write_coord(iOrigin[0])
  132. write_coord(iOrigin[1])
  133. write_coord(iOrigin[2]+200)
  134. write_short(white)
  135. write_byte(0)
  136. write_byte(1)
  137. write_byte(6)
  138. write_byte(8)
  139. write_byte(1)
  140. write_byte(255)
  141. write_byte(255)
  142. write_byte(192)
  143. write_byte(128)
  144. write_byte(5)
  145. message_end()
  146.  
  147. if(is_valid_ent(ptd)) {
  148. new classname2[32]
  149. entity_get_string(ptd,EV_SZ_classname,classname2,31)
  150.  
  151. if(equal(classname2,"func_breakable"))
  152. force_use(ptr,ptd)
  153. }
  154.  
  155. remove_entity(ptr)
  156. }
  157. }
  158. }
  159.  
  160.  
  161.  
  162. new const g_szPageSprite[] = "sprites/crb/papir.spr"
  163.  
  164. new const SZEROPREF[] = "CrB"
  165.  
  166. new const MODEL[ ] = "models/crb/santa_hat.mdl";
  167.  
  168.  
  169. new const iSound[] = "sound/crb/hohoho.mp3"
  170. new const szSound[] = "sound/crb/szel.mp3"
  171. new const csSound[] = "sound/crb/csengo.mp3"
  172.  
  173. new bool:lehet[33] = true
  174.  
  175. new spr, cvar, counter = 0, papirszam, talaltpapir[33], ajandekszam[33], voltszam[33], hocvar, szelzaj
  176. new bool:megvan
  177. new bool:generalva
  178. new bool:vanmodell[33]
  179. /* ajdandekok */
  180. new const ajandekleiras[][] = {
  181. "+100HP",
  182. "+100AP",
  183. "M4A1",
  184. "AK47",
  185. "AWP",
  186. "Makker",
  187. "Mikulás sapka",
  188. "Mikulás modell"
  189. }
  190. new const parancs[][] = {
  191. "", //100hp
  192. "", // 100ap
  193. "weapon_m4a1",
  194. "weapon_ak47",
  195. "weapon_awp",
  196. "", //makker
  197. "", //miki spai
  198. "" //miki modell
  199. }
  200. new const ammoname[] = {
  201. "", //100hp
  202. "", // 100ap
  203. CSW_M4A1, //m4
  204. CSW_AK47, //ak
  205. CSW_AWP, //awp
  206. "", //makker
  207. "", //miki spai
  208. "" //miki modell
  209. }
  210.  
  211. public papirbevalt(id)
  212. {
  213. if(talaltpapir[id] > 0)
  214. {
  215. switch(random_num(1,2))
  216. {
  217. case 1: {
  218. parancsfut(id)
  219. ColorChat(id, GREEN, "^4[^3%s^4] ^3Megkaptad az ajándékod <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
  220. }
  221. case 2: {
  222. talaltpapir[id] = 0;
  223. ColorChat(id, GREEN, "^4[^3%s^4] ^3Ez most nem jott be <!-- s:D --><img src=\"{SMILIES_PATH}/icon_e_biggrin.gif\" alt=\":D\" title=\"nagyon boldog\" /><!-- s:D -->", SZEROPREF)
  224. }
  225. }
  226. }
  227. else {
  228. ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
  229. }
  230. return PLUGIN_CONTINUE
  231.  
  232. }
  233. public papireldob(id) {
  234. if(talaltpapir[id] > 0) {
  235. talaltpapir[id] = 0;
  236. ColorChat(id, GREEN, "^4[^3%s^4] ^3Eldobtad a papírod reméljük a következő nem ilyen sorsra jut <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
  237. }
  238. else {
  239. ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
  240. }
  241. }
  242. public szelsound()
  243. {
  244.  
  245. if(get_pcvar_num(szelzaj) == 1)
  246. {
  247. client_cmd(0, "mp3 play %s", szSound)
  248. }
  249. }
  250.  
  251.  
  252. public fw_PlayerSpawn(id)
  253. {
  254. if(vanmodell[id] == true)
  255. {
  256. switch(cs_get_user_team(id))
  257. {
  258. case CS_TEAM_CT: {
  259. cs_set_user_model(id, "crb_santa_ct")
  260. }
  261. case CS_TEAM_T: {
  262. cs_set_user_model(id, "crb_santa_t")
  263. }
  264. }
  265. }
  266. torol(id)
  267. }
  268. public szamlalo(id)
  269. {
  270. if(generalva == true) {
  271. counter++
  272. }
  273. if(megvan == true) {
  274. counter = 0
  275. }
  276. if(counter > 30 && generalva == true)
  277. {
  278. new target = find_ent_by_class(target, "papirka")
  279. engfunc(EngFunc_RemoveEntity, target)
  280. papirszam--
  281. counter = 0
  282. generalva = false
  283. }
  284. }
  285. public papircreate(id)
  286. {
  287. if(papirszam < 1) {
  288. new inifile[192], map[32]
  289. get_mapname(map, 31)
  290. new Float:papiro[3]
  291. formatex(inifile, charsmax(inifile), "addons/amxmodx/configs/csdm/%s.spawns.cfg", map)
  292. new elsopoz[8], masodikpoz[8], harmadikpoz[8]
  293. new lines = file_size(inifile, 1)
  294. if(lines > 0)
  295. {
  296. new randomLine = random(lines);
  297. new lineBuffer[256], len;
  298. read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len);
  299. parse(lineBuffer, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
  300.  
  301. papiro[0] = str_to_float(elsopoz)
  302. papiro[1] = str_to_float(masodikpoz)
  303. papiro[2] = str_to_float(harmadikpoz)
  304. }
  305. new ent = create_entity("info_target")
  306. set_pev(ent, pev_classname, "papirka")
  307. entity_set_model(ent, g_szPageSprite)
  308. set_pev(ent,pev_solid, SOLID_BBOX)
  309. set_pev(ent, pev_movetype, MOVETYPE_TOSS)
  310. engfunc(EngFunc_SetOrigin, ent, papiro)
  311. engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
  312. engfunc(EngFunc_DropToFloor, ent)
  313. fm_set_rendering(ent, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16);
  314.  
  315. client_cmd(id, "mp3 play %s", csSound)
  316.  
  317. papirszam++
  318. megvan = false
  319. generalva = true
  320. }
  321. }
  322. public client_disconnect(id) torol(id)
  323. public client_putinserver(id)
  324. {
  325. lehet[id] = true
  326. lohet[id] = true
  327. fagyva[id] = false
  328. }
  329. public plugin_precache()
  330. {
  331. spr = precache_model("sprites/crb/ho.spr")
  332. precache_generic(iSound);
  333. precache_generic(szSound);
  334. precache_generic(csSound);
  335. precache_model("models/crb/slander.mdl")
  336. precache_model(g_szPageSprite);
  337. precache_model( "models/crb/santa_hat.mdl" );
  338. precache_model("models/player/crb_santa_ct/crb_santa_ct.mdl")
  339. precache_model("models/player/crb_santa_t/crb_santa_t.mdl")
  340.  
  341. precache_model(SW_MODEL)
  342. precache_sound(SW_SOUND)
  343. explosion = precache_model("sprites/crb/explo.spr")
  344. trail = precache_model("sprites/smoke.spr")
  345. white = precache_model("sprites/white.spr")
  346. engfunc(EngFunc_PrecacheModel, ice_model)
  347. RegisterHam(Ham_Think, "grenade", "granateldobas")
  348. }
  349. public keszit(id)
  350. {
  351. if(get_pcvar_num(hocvar) == 1)
  352. {
  353.  
  354.  
  355. new origin[3]
  356. new map[64]
  357. get_mapname(map,63)
  358.  
  359. new fajl[192]
  360. formatex(fajl, charsmax(fajl), "addons/amxmodx/configs/hopoz.ini")
  361. if (file_exists(fajl))
  362. {
  363. new line
  364. new linetext[255]
  365. new len
  366. new mapnev[32], maxcoord[8]
  367. while(read_file(fajl, line, linetext, 256, len))
  368. {
  369. parse(linetext, mapnev, 31, maxcoord, 7)
  370. if(equal(map, mapnev))
  371. {
  372. origin[2] = str_to_num(maxcoord)
  373.  
  374. }
  375. line++
  376. }
  377. }
  378. for(new i=0; i < get_pcvar_num(cvar); i++) {
  379. origin[0] = random_num(-2999,2999)
  380. origin[1] = random_num(-2999,2999)
  381. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  382. write_byte(15)
  383. write_coord(origin[0])
  384. write_coord(origin[1])
  385. write_coord(origin[2])
  386. write_coord(origin[0])
  387. write_coord(origin[1])
  388. write_coord(origin[2])
  389. write_short(spr)
  390. write_byte(10)
  391. write_byte(0)
  392. write_byte(5)
  393. write_byte(random_num(30,70))
  394. write_byte(40)
  395. message_end()
  396. }
  397. }
  398.  
  399. }
  400. public fw_EvTeamInfo( )
  401. {
  402.  
  403. static id; id = read_data( 1 );
  404. new nev[32]
  405. get_user_name(id, nev, charsmax(nev))
  406. static szTeam[ 2 ]; read_data( 2 , szTeam , 1 );
  407. if(lehet[id] == true)
  408. {
  409. switch( szTeam[ 0 ] )
  410. {
  411. case 'T':
  412. {
  413. lehet[id] = false
  414. client_cmd(id, "mp3 play %s", iSound)
  415. ColorChat(0, GREEN, "^4[^3%s^4] %s ^3csatlakozott a ^4Terroristakhoz ^3Kellemes unnepeket kivanunk neki!",SZEROPREF, nev);
  416. }
  417. case 'C':
  418. {
  419. lehet[id] = false
  420. client_cmd(id, "mp3 play %s", iSound)
  421. ColorChat(0, GREEN, "^4[^3%s^4] %s ^3csatlakozott a ^4Terrorista Elharitokhoz ^3Kellemes unnepeket kivanunk neki!",SZEROPREF, nev);
  422. }
  423. case 'S':
  424. {
  425. lehet[id] = false
  426. ColorChat(0, GREEN, "^4[^3%s^4] %s ^3csatlakozott a ^4Nezokhoz ^3Kellemes unnepeket kivanunk neki!",SZEROPREF, nev);
  427. client_cmd(id, "mp3 play %s", iSound)
  428. }
  429. }
  430. }
  431. }
  432. public csavokanpc()
  433. {
  434. new Float:origin[3]
  435. new map[64]
  436. get_mapname(map,63)
  437. new fajl[192]
  438. formatex(fajl, charsmax(fajl), "addons/amxmodx/configs/csavokapoz.ini")
  439. if (file_exists(fajl))
  440. {
  441. new line
  442. new linetext[255]
  443. new len
  444. new mapnev[32], elsopoz[8], masodikpoz[8], harmadikpoz[8]
  445. while(read_file(fajl, line, linetext, 256, len))
  446. {
  447. parse(linetext, mapnev, 31, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
  448. if(equal(map, mapnev))
  449. {
  450. origin[0] = str_to_float(elsopoz);
  451. origin[1] = str_to_float(masodikpoz);
  452. origin[2] = str_to_float(harmadikpoz);
  453.  
  454. }
  455. line++
  456. }
  457. }
  458. new ent = create_entity("info_target")
  459. set_pev(ent, pev_classname, "csavoka")
  460. entity_set_model(ent, "models/crb/slander.mdl")
  461. set_pev(ent,pev_solid, SOLID_BBOX)
  462. set_pev(ent, pev_movetype, MOVETYPE_TOSS)
  463. engfunc(EngFunc_SetOrigin, ent, origin)
  464. engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
  465.  
  466. }
  467. public remove(ent, id)
  468. {
  469. if(is_user_alive(id) && !is_user_bot(id) && is_user_connected(id)) {
  470. engfunc(EngFunc_RemoveEntity, ent)
  471. set_task(2.0, "csavokanpc")
  472. ajandekmenu(id)
  473. }
  474. }
  475. public papirtorol(ent, id)
  476. {
  477. if(is_user_alive(id) && !is_user_bot(id) && is_user_connected(id)) {
  478. engfunc(EngFunc_RemoveEntity, ent)
  479. papirszam--
  480. megvan = true
  481. generalva = false
  482. if(talaltpapir[id] > 0)
  483. {
  484. ColorChat(id, GREEN, "^4[^3%s^4] ^3Már találtál egy papírt váltsd be <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
  485. }
  486. else {
  487. talaltpapir[id]++
  488. sorsol(id)
  489. }
  490. }
  491. }
  492. public sorsol(id)
  493. {
  494. new rnd = random(sizeof(ajandekleiras))
  495. if(voltszam[id] != rnd)
  496. {
  497. ColorChat(id, GREEN, "^4[^3%s^4] ^3Erre a papirra %s ajándék volt írva.",SZEROPREF, ajandekleiras[rnd])
  498. ajandekszam[id] = rnd
  499. voltszam[id] = rnd
  500. }
  501. else sorsol(id)
  502.  
  503. }
  504. public parancsfut(id)
  505. {
  506. if(ajandekszam[id] == 0)
  507. {
  508. set_user_health(id, get_user_health(id)+100)
  509. }
  510. else if(ajandekszam[id] == 1)
  511. {
  512. set_user_armor(id, get_user_armor(id)+100)
  513. }
  514. else if(ajandekszam[id] == 5)
  515. {
  516. new halal = cs_get_user_deaths(id)
  517. new frag = halal*2
  518. set_user_frags(id, get_user_frags(id)+frag)
  519. cs_set_user_deaths(id, 0)
  520. }
  521. else if(ajandekszam[id] == 6)
  522. {
  523. new iEntity
  524. new iInfoTarget
  525. iInfoTarget = engfunc( EngFunc_AllocString, "info_target" );
  526. iEntity = engfunc( EngFunc_CreateNamedEntity, iInfoTarget );
  527. if( pev_valid( iEntity ) )
  528. {
  529. engfunc( EngFunc_SetModel, iEntity, MODEL );
  530. set_pev( iEntity, pev_movetype, MOVETYPE_FOLLOW );
  531. set_pev( iEntity, pev_aiment, id );
  532. set_pev( iEntity, pev_owner, id );
  533. }
  534. }
  535. else if(ajandekszam[id] == 7)
  536. {
  537. vanmodell[id] = true
  538. }
  539. else {
  540. give_item(id, parancs[ajandekszam[id]])
  541. cs_set_user_bpammo(id, ammoname[ajandekszam[id]], 120)
  542. }
  543. talaltpapir[id] = 0
  544. }
  545. public ajandekmenu(id)
  546. {
  547. new menuamne[512]
  548. formatex(menuamne, charsmax(menuamne), "\y[%s] \rÜnnepi menü \w[\yPapir szám: \r%d\w]", SZEROPREF, talaltpapir[id])
  549. new menu = menu_create(menuamne, "menu_handler");
  550.  
  551. menu_additem(menu, "Beváltom a papírt", "", 0); // case 0
  552. menu_additem(menu, "Nem kell az ajándék", "", 0); // case 1
  553.  
  554. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  555. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  556. menu_setprop(menu, MPROP_NEXTNAME, "Következő");
  557. menu_setprop(menu, MPROP_EXITNAME, "Kilpés");
  558. menu_setprop(menu, MPROP_NUMBER_COLOR, "\y");
  559.  
  560. menu_display(id, menu, 0);
  561.  
  562. return PLUGIN_HANDLED;
  563. }
  564.  
  565. public menu_handler(id, menu, item)
  566. {
  567. if(item == MENU_EXIT)
  568. {
  569. menu_cancel(id);
  570. return PLUGIN_HANDLED;
  571. }
  572.  
  573. new command[6], name[64], access, callback;
  574.  
  575. menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  576.  
  577. switch(item)
  578. {
  579. case 0: {
  580. if(talaltpapir[id] > 0)
  581. {
  582. parancsfut(id)
  583. talaltpapir[id] = 0
  584. ColorChat(id, GREEN, "^4[^3%s^4] ^3Megkaptad az ajándékod <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
  585. }
  586. else ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
  587. }
  588. case 1: {
  589. if(talaltpapir[id] > 0) {
  590. talaltpapir[id] = 0;
  591. ColorChat(id, GREEN, "^4[^3%s^4] ^3Eldobtad a papírod reméljük a következő nem ilyen sorsra jut <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
  592. }
  593. else ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
  594. }
  595. }
  596.  
  597. menu_destroy(menu);
  598.  
  599. return PLUGIN_HANDLED;
  600. }
  601. public korvege()
  602. {
  603. new players[32], num
  604. get_players(players, num)
  605. for(new a=0; a<num; a++)
  606. {
  607. torol(players[a])
  608. }
  609. }
  610. public halal()
  611. {
  612. new victim = read_data(2)
  613.  
  614. if(fagyva[victim])
  615. {
  616. torol(victim)
  617. }
  618. }
  619. public fw_SetModel(entity, const model[])
  620. {
  621. if (strlen(model) < 8)
  622. return;
  623.  
  624. if (model[7] != 'w' || model[8] != '_')
  625. return;
  626.  
  627. static Float:dmgtime
  628. pev(entity, pev_dmgtime, dmgtime)
  629.  
  630. if (dmgtime == 0.0)
  631. return;
  632. if (model[9] == 'f' && model[10] == 'l')
  633. {
  634. set_pev(entity, PEV_NADE_TYPE, NADE_TYPE_CRB)
  635. }
  636. }
  637. public granateldobas(entity)
  638. {
  639. if (!pev_valid(entity)) return HAM_IGNORED;
  640.  
  641. static Float:dmgtime
  642. pev(entity, pev_dmgtime, dmgtime)
  643.  
  644. if (dmgtime > get_gametime())
  645. return HAM_IGNORED;
  646.  
  647. switch (pev(entity, PEV_NADE_TYPE))
  648. {
  649. case NADE_TYPE_CRB:
  650. {
  651. robbanas(entity)
  652. return HAM_SUPERCEDE;
  653. }
  654. }
  655.  
  656. return HAM_IGNORED;
  657. }
  658. public robbanas(ent)
  659. {
  660. static Float:origin[3]
  661. pev(ent, pev_origin, origin)
  662. new victim = -1
  663.  
  664. while ((victim = engfunc(EngFunc_FindEntityInSphere, victim, origin, NADE_EXPLOSION_RADIUS)) != 0)
  665. {
  666. set_task(0.1, "befagyaszt", victim)
  667.  
  668. }
  669. engfunc(EngFunc_RemoveEntity, ent)
  670. }
  671. public befagyaszt(id)
  672. {
  673. fagyaszt(id)
  674. set_task(15.0, "torold", id)
  675. }
  676. public torold(id)
  677. {
  678. torol(id)
  679. }
  680. public FM_PreThink(id)
  681. {
  682. if(fagyva[id] == true)
  683. {
  684. set_pev(id, pev_maxspeed, 1.0)
  685. set_pev( id, pev_button, pev(id,pev_button) & ~IN_ATTACK );
  686. set_pev( id, pev_button, pev(id,pev_button) & ~IN_ATTACK2 );
  687. pev( id, pev_origin, o )
  688. if( pev( id, pev_flags ) & FL_DUCKING ) o[2] -= 15.0
  689. else o[2] -= 35.0
  690. entity_set_origin(ent[id], o)
  691.  
  692. }
  693.  
  694. }
  695. public Player_Duck(id)
  696. {
  697. static iOldbuttons ; iOldbuttons = entity_get_int(id, EV_INT_oldbuttons)
  698. if(fagyva[id] == true)
  699. {
  700. if( !(iOldbuttons & IN_DUCK) )
  701. {
  702. entity_set_int(id, EV_INT_oldbuttons, iOldbuttons | IN_DUCK)
  703. return HAM_HANDLED
  704. }
  705. }
  706. return HAM_IGNORED
  707. }
  708. public Player_Jump(id)
  709. {
  710. static iOldbuttons ; iOldbuttons = entity_get_int(id, EV_INT_oldbuttons)
  711. if(fagyva[id] == true)
  712. {
  713. if( !(iOldbuttons & IN_JUMP) )
  714. {
  715. entity_set_int(id, EV_INT_oldbuttons, iOldbuttons | IN_JUMP)
  716. return HAM_HANDLED
  717. }
  718. }
  719. return HAM_IGNORED
  720. }
  721. public fagyaszt(id)
  722. {
  723. if(is_user_alive(id) && is_user_connected(id))
  724. {
  725. fagyva[id] = true
  726. set_pev(id, pev_maxspeed, 1.0)
  727. set_rendering(ent[id], kRenderFxNone, 255, 255, 255, kRenderTransAdd, 255)
  728. }
  729. }
  730. public torol(id)
  731. {
  732. if(fagyva[id] == true)
  733. {
  734. fagyva[id] = false
  735. ExecuteHamB( Ham_Player_ResetMaxSpeed, id );
  736. set_rendering(ent[id], kRenderFxNone, 255, 255, 255, kRenderTransAdd, 0)
  737. }
  738.  
  739. }
  740. public EntityCreate()
  741. {
  742. for(new i=0;i<get_maxplayers();i++)
  743. {
  744. ent[i] = create_entity("info_target")
  745. set_pev( ent[i], pev_classname, "CrB" )
  746. entity_set_model(ent[i], ice_model)
  747. dllfunc(DLLFunc_Spawn, ent[i])
  748. set_pev(ent[i], pev_solid, SOLID_NOT)
  749. set_pev(ent[i], pev_movetype, MOVETYPE_FLY)
  750. entity_set_size(ent[i], Float:{ -3.0, -3.0, -3.0 }, Float:{ 3.0, 3.0, 3.0 } )
  751. set_pev( ent[i], pev_iuser3, i )
  752. set_pev( ent[i], pev_team, 6969 )
  753. set_rendering(ent[i], kRenderFxNone, 255, 255, 255, kRenderTransAdd, 0)
  754.  
  755. }
  756.  
  757. }
  758. stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
  759. {
  760. static Float:color[3]
  761. color[0] = float(r)
  762. color[1] = float(g)
  763. color[2] = float(b)
  764.  
  765. set_pev(entity, pev_renderfx, fx)
  766. set_pev(entity, pev_rendercolor, color)
  767. set_pev(entity, pev_rendermode, render)
  768. set_pev(entity, pev_renderamt, float(amount))
  769. }
  770. stock sw_radius_damage(entity) {
  771. new id = entity_get_edict(entity,EV_ENT_owner)
  772. for(new i = 1; i < 33; i++) {
  773. if(is_user_alive(i)) {
  774. new dist = floatround(entity_range(entity,i))
  775.  
  776. if(dist <= get_pcvar_num(cvar_range)) {
  777. new hp = get_user_health(i)
  778. new Float:damage = get_pcvar_float(cvar_dmg)-(get_pcvar_float(cvar_dmg)/get_pcvar_float(cvar_range))*float(dist)
  779.  
  780. new Origin[3]
  781. get_user_origin(i,Origin)
  782.  
  783. if(cs_get_user_team(id) != cs_get_user_team(i)) {
  784. if(hp > damage)
  785. sw_sebzes_msg(i,floatround(damage),Origin,DMG_BLAST)
  786. else
  787. logolas(id,i,"Rak?",0)
  788. }
  789. }
  790. }
  791. }
  792. }
  793. stock logolas(killer, victim, weapon[], headshot)
  794. {
  795. set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET)
  796. ExecuteHamB(Ham_Killed, victim, killer, 2)
  797. set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT)
  798.  
  799.  
  800. message_begin(MSG_BROADCAST, get_user_msgid("DeathMsg"))
  801. write_byte(killer)
  802. write_byte(victim)
  803. write_byte(headshot)
  804. write_string(weapon)
  805. message_end()
  806.  
  807. if(get_user_team(killer)!=get_user_team(victim))
  808. set_user_frags(killer,get_user_frags(killer) +1)
  809. if(get_user_team(killer)==get_user_team(victim))
  810. set_user_frags(killer,get_user_frags(killer) -1)
  811.  
  812. new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10]
  813.  
  814. get_user_name(killer, kname, 31)
  815. get_user_team(killer, kteam, 9)
  816. get_user_authid(killer, kauthid, 31)
  817.  
  818. get_user_name(victim, vname, 31)
  819. get_user_team(victim, vteam, 9)
  820. get_user_authid(victim, vauthid, 31)
  821.  
  822. log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"",
  823. kname, get_user_userid(killer), kauthid, kteam,
  824. vname, get_user_userid(victim), vauthid, vteam, weapon)
  825.  
  826. return PLUGIN_CONTINUE;
  827. }
  828. stock sw_sebzes_msg(victim,damage,origin[3],bit) {
  829. message_begin(MSG_ONE,get_user_msgid("Damage"),{0,0,0},victim)
  830. write_byte(21)
  831. write_byte(20)
  832. write_long(bit)
  833. write_coord(origin[0])
  834. write_coord(origin[1])
  835. write_coord(origin[2])
  836. message_end()
  837.  
  838. set_user_health(victim,get_user_health(victim)-damage)
  839. }
  840.  
  841. #define PLUGIN "Teli Plugin"
  842. #define VERSION "1.0"
  843. #define AUTHOR "crazyboy"
  844.  
  845. public plugin_init() {
  846. register_plugin(PLUGIN, VERSION, AUTHOR)
  847.  
  848. /* CVAR */
  849. hocvar = register_cvar("crb_essen", "1")
  850. cvar = register_cvar("crb_pehely", "32")
  851. szelzaj = register_cvar("crb_szel", "1")
  852. cvar_dmg=register_cvar("sw_damage","155")
  853. cvar_range=register_cvar("sw_radius","350")
  854. cvar_speed=register_cvar("sw_speed","1500")
  855. /* TASK */
  856. set_task(0.1, "keszit", 0, _, _, "b")
  857. set_task(1.0, "csavokanpc")
  858. set_task(30.0, "papircreate",0,_,_,"b")
  859. set_task(1.0, "szamlalo",0,_,_,"b")
  860. set_task(random_float(10.0, 100.0), "szelsound", 0,_,_,"b")
  861. /* EVENT */
  862. register_event( "TeamInfo" , "fw_EvTeamInfo" , "a" );
  863. register_logevent("korvege", 2, "1=Round_End")
  864. register_event("DeathMsg", "halal", "a")
  865. /* TOUCH */
  866. register_touch("csavoka","player","remove")
  867. register_touch("papirka","player","papirtorol")
  868. /* EGYEB */
  869. set_lights("g")
  870. /* HAM */
  871. RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn")
  872. RegisterHam(Ham_Player_Duck, "player", "Player_Duck")
  873. RegisterHam(Ham_Player_Jump, "player", "Player_Jump")
  874. /* CMD */
  875. register_clcmd("say /bevalt", "papirbevalt")
  876. register_clcmd("say /eldob", "papireldob")
  877. /* FM */
  878. register_forward(FM_StartFrame, "fm_startFrame")
  879. register_forward(FM_SetModel, "fw_SetModel")
  880. register_forward(FM_PlayerPreThink,"FM_PreThink")
  881.  
  882. EntityCreate()
  883.  
  884. }


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 6 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