hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.06. 21:26



Jelenlévő felhasználók

Jelenleg 221 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 220 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: 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  [ 6 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Hol található ez az SMA-ban?
HozzászólásElküldve: 2013.06.20. 23:25 
Offline
Senior Tag
Avatar

Csatlakozott: 2013.06.11. 13:32
Hozzászólások: 254
Megköszönt másnak: 31 alkalommal
Megköszönték neki: 2 alkalommal
zp. 5.0.8 van fent és az a helyzet, hogy ha pl egy extra cuccokhoz plugint berakom a többi alá tehát értelemszerűen a játékban is alá kéne kerülnie, ahogy a többi, viszont ez 1. helyre kerül.. gondoom az smaban ez van reigsztrálva.. nos hogyan írhatom át? azért belinkelem az smat. a másik dolog pedig, hogy a színét, hogy változtassam meg az smaban? hogy pl pirossal/sárgával írja az extra cuccoknál? csak mert van piros meg sárga is.. de nekem az nem kell:d

itt egy sma

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <fakemeta_util>
  4. #include <hamsandwich>
  5. #include <cstrike>
  6.  
  7. #define PLUGIN "Gatling (Volcano)"
  8. #define VERSION "1.0"
  9. #define AUTHOR "Dias"
  10.  
  11. #define CSW_GATLING CSW_M3
  12. #define weapon_gatling "weapon_m3"
  13. #define WEAPON_ANIMEXT "m249"
  14. #define DEFAULT_W_MODEL "models/w_m3.mdl"
  15. #define WEAPON_SECRET_CODE 1942
  16. #define old_event "events/m3.sc"
  17.  
  18. #define DAMAGE 48
  19. #define SPEED 0.25
  20. #define RECOIL 0.5
  21. #define RELOAD_TIME 4.5
  22. #define DEFAULT_CLIP 40
  23. #define DEFAULT_BPAMMO 180
  24.  
  25. new const WeaponModel[3][] =
  26. {
  27. "models/v_gatling.mdl", // V
  28. "models/p_gatling.mdl", // P
  29. "models/w_gatling.mdl" // W
  30. }
  31.  
  32. new const WeaponSound[7][] =
  33. {
  34. "weapons/gatling-1.wav",
  35. "weapons/gatling_boltpull.wav",
  36. "weapons/gatling_clipin1.wav",
  37. "weapons/gatling_clipin2.wav",
  38. "weapons/gatling_clipout1.wav",
  39. "weapons/gatling_clipout2.wav",
  40. "weapons/usas_draw.wav"
  41. }
  42.  
  43. new const WeaponResource[4][] =
  44. {
  45. "sprites/weapon_gatling.txt",
  46. "sprites/640hud7_2.spr",
  47. "sprites/640hud55_2.spr",
  48. "sprites/640hud56_2.spr"
  49. }
  50.  
  51. enum
  52. {
  53. GATLING_ANIM_IDLE = 0,
  54. GATLING_ANIM_SHOOT1,
  55. GATLING_ANIM_SHOOT2,
  56. GATLING_ANIM_RELOAD,
  57. GATLING_ANIM_DRAW
  58. }
  59.  
  60. const PDATA_SAFE = 2
  61. const OFFSET_LINUX_WEAPONS = 4
  62. const OFFSET_LINUX_PLAYER = 5
  63. const OFFSET_WEAPONOWNER = 41
  64. const m_iClip = 51
  65. const m_fInReload = 54
  66. const m_flNextAttack = 83
  67. const m_szAnimExtention = 492
  68.  
  69. new g_had_gatling[33], Float:g_punchangles[33][3], g_gatling_event, g_smokepuff_id, m_iBlood[2], g_ham_bot
  70.  
  71. public plugin_init()
  72. {
  73. register_plugin(PLUGIN, VERSION, AUTHOR)
  74.  
  75. register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
  76.  
  77. register_forward(FM_CmdStart, "fw_CmdStart")
  78. register_forward(FM_SetModel, "fw_SetModel")
  79. register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
  80. register_forward(FM_PlaybackEvent, "fw_PlaybackEvent")
  81.  
  82. RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack")
  83. RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack")
  84.  
  85. RegisterHam(Ham_Item_Deploy, weapon_gatling, "fw_Item_Deploy_Post", 1)
  86. RegisterHam(Ham_Weapon_Reload, weapon_gatling, "fw_Weapon_Reload_Post", 1)
  87. RegisterHam(Ham_Item_PostFrame, weapon_gatling, "fw_Item_PostFrame")
  88. RegisterHam(Ham_Item_AddToPlayer, weapon_gatling, "fw_Item_AddToPlayer_Post", 1)
  89. RegisterHam(Ham_Weapon_PrimaryAttack, weapon_gatling, "fw_Weapon_PrimaryAttack")
  90. RegisterHam(Ham_Weapon_PrimaryAttack, weapon_gatling, "fw_Weapon_PrimaryAttack_Post", 1)
  91.  
  92. register_clcmd("weapon_gatling", "hook_weapon")
  93. register_clcmd("admin_get_gatling", "get_gatling", ADMIN_BAN)
  94. }
  95.  
  96. public plugin_precache()
  97. {
  98. new i
  99.  
  100. for(i = 0; i < sizeof(WeaponModel); i++)
  101. engfunc(EngFunc_PrecacheModel, WeaponModel[i])
  102. for(i = 0; i < sizeof(WeaponSound); i++)
  103. engfunc(EngFunc_PrecacheSound, WeaponSound[i])
  104. for(new i = 0; i < sizeof(WeaponResource); i++)
  105. {
  106. if(i == 0) engfunc(EngFunc_PrecacheGeneric, WeaponResource[i])
  107. else engfunc(EngFunc_PrecacheModel, WeaponResource[i])
  108. }
  109.  
  110. g_smokepuff_id = engfunc(EngFunc_PrecacheModel, "sprites/wall_puff1.spr")
  111. m_iBlood[0] = engfunc(EngFunc_PrecacheModel, "sprites/blood.spr")
  112. m_iBlood[1] = engfunc(EngFunc_PrecacheModel, "sprites/bloodspray.spr")
  113.  
  114. register_forward(FM_PrecacheEvent, "fw_PrecacheEvent_Post", 1)
  115. }
  116.  
  117. public fw_PrecacheEvent_Post(type, const name[])
  118. {
  119. if(equal(old_event, name))
  120. g_gatling_event = get_orig_retval()
  121. }
  122.  
  123. public client_putinserver(id)
  124. {
  125. if(is_user_bot(id) && !g_ham_bot)
  126. {
  127. g_ham_bot = 1
  128. set_task(0.1, "Do_Register_Ham", id)
  129. }
  130. }
  131.  
  132. public Do_Register_Ham(id)
  133. {
  134. RegisterHamFromEntity(Ham_TraceAttack, id, "fw_TraceAttack")
  135. }
  136.  
  137. public get_gatling(id)
  138. {
  139. if(!is_user_alive(id))
  140. return
  141.  
  142. drop_weapons(id, 1)
  143.  
  144. g_had_gatling[id] = 1
  145. fm_give_item(id, weapon_gatling)
  146.  
  147. // Set Clip
  148. static ent; ent = fm_get_user_weapon_entity(id, CSW_GATLING)
  149. if(pev_valid(ent)) cs_set_weapon_ammo(ent, DEFAULT_CLIP)
  150.  
  151. // Set BpAmmo
  152. cs_set_user_bpammo(id, CSW_GATLING, DEFAULT_BPAMMO)
  153.  
  154. // Update Ammo
  155. update_ammo(id, CSW_GATLING, DEFAULT_CLIP, DEFAULT_BPAMMO)
  156. }
  157.  
  158. public remove_gatling(id)
  159. {
  160. g_had_gatling[id] = 0
  161. }
  162.  
  163. public hook_weapon(id)
  164. {
  165. client_cmd(id, weapon_gatling)
  166. return PLUGIN_HANDLED
  167. }
  168.  
  169. public Event_CurWeapon(id)
  170. {
  171. if(!is_user_alive(id))
  172. return
  173. if(get_user_weapon(id) != CSW_GATLING || !g_had_gatling[id])
  174. return
  175.  
  176. // Speed
  177. static ent; ent = fm_get_user_weapon_entity(id, CSW_GATLING)
  178. if(!pev_valid(ent))
  179. return
  180.  
  181. set_pdata_float(ent, 46, get_pdata_float(ent, 46, OFFSET_LINUX_WEAPONS) * SPEED, OFFSET_LINUX_WEAPONS)
  182. }
  183.  
  184. public fw_CmdStart(id, uc_handle, seed)
  185. {
  186. if(!is_user_alive(id))
  187. return
  188. if(get_user_weapon(id) != CSW_GATLING || !g_had_gatling[id])
  189. return
  190.  
  191. static CurButton; CurButton = get_uc(uc_handle, UC_Buttons)
  192.  
  193. if(CurButton & IN_RELOAD)
  194. {
  195. CurButton &= ~IN_RELOAD
  196. set_uc(uc_handle, UC_Buttons, CurButton)
  197.  
  198. static ent; ent = fm_get_user_weapon_entity(id, CSW_GATLING)
  199. if(!pev_valid(ent)) return
  200.  
  201. static fInReload; fInReload = get_pdata_int(ent, m_fInReload, OFFSET_LINUX_WEAPONS)
  202. static Float:flNextAttack; flNextAttack = get_pdata_float(id, m_flNextAttack, OFFSET_LINUX_PLAYER)
  203.  
  204. if (flNextAttack > 0.0)
  205. return
  206.  
  207. if (fInReload)
  208. {
  209. set_weapon_anim(id, GATLING_ANIM_IDLE)
  210. return
  211. }
  212.  
  213. if(cs_get_weapon_ammo(ent) >= DEFAULT_CLIP)
  214. {
  215. set_weapon_anim(id, GATLING_ANIM_IDLE)
  216. return
  217. }
  218.  
  219. fw_Weapon_Reload_Post(ent)
  220. }
  221. }
  222.  
  223. public fw_SetModel(entity, model[])
  224. {
  225. if(!pev_valid(entity))
  226. return FMRES_IGNORED
  227.  
  228. static szClassName[33]
  229. pev(entity, pev_classname, szClassName, charsmax(szClassName))
  230.  
  231. if(!equal(szClassName, "weaponbox"))
  232. return FMRES_IGNORED
  233.  
  234. static id
  235. id = pev(entity, pev_owner)
  236.  
  237. if(equal(model, DEFAULT_W_MODEL))
  238. {
  239. static weapon
  240. weapon = fm_find_ent_by_owner(-1, weapon_gatling, entity)
  241.  
  242. if(!pev_valid(weapon))
  243. return FMRES_IGNORED
  244.  
  245. if(g_had_gatling[id])
  246. {
  247. set_pev(weapon, pev_impulse, WEAPON_SECRET_CODE)
  248. engfunc(EngFunc_SetModel, entity, WeaponModel[2])
  249.  
  250. remove_gatling(id)
  251.  
  252. return FMRES_SUPERCEDE
  253. }
  254. }
  255.  
  256. return FMRES_IGNORED
  257. }
  258.  
  259. public fw_TraceAttack(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType)
  260. {
  261. if(!is_user_alive(attacker))
  262. return HAM_IGNORED
  263. if(get_user_weapon(attacker) != CSW_GATLING || !g_had_gatling[attacker])
  264. return HAM_IGNORED
  265.  
  266. if(!is_user_alive(ent))
  267. {
  268. static Float:flEnd[3], Float:vecPlane[3]
  269.  
  270. get_tr2(ptr, TR_vecEndPos, flEnd)
  271. get_tr2(ptr, TR_vecPlaneNormal, vecPlane)
  272.  
  273. make_bullet(attacker, flEnd)
  274. fake_smoke(attacker, ptr)
  275. }
  276.  
  277. SetHamParamFloat(3, float(DAMAGE) / random_float(1.5, 2.5))
  278.  
  279. return HAM_HANDLED
  280. }
  281.  
  282. public fw_UpdateClientData_Post(id, sendweapons, cd_handle)
  283. {
  284. if(!is_user_alive(id) || !is_user_connected(id))
  285. return FMRES_IGNORED
  286. if(get_user_weapon(id) != CSW_GATLING || !g_had_gatling[id])
  287. return FMRES_IGNORED
  288.  
  289. set_cd(cd_handle, CD_flNextAttack, get_gametime() + 0.001)
  290.  
  291. return FMRES_HANDLED
  292. }
  293.  
  294. public fw_PlaybackEvent(flags, invoker, eventid, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2)
  295. {
  296. if(!is_user_connected(invoker))
  297. return FMRES_IGNORED
  298.  
  299. if(get_user_weapon(invoker) == CSW_GATLING && g_had_gatling[invoker] && eventid == g_gatling_event)
  300. {
  301. engfunc(EngFunc_PlaybackEvent, flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
  302. Event_Gatling_Shoot(invoker)
  303.  
  304. return FMRES_SUPERCEDE
  305. }
  306.  
  307. return FMRES_HANDLED
  308. }
  309.  
  310. public fw_Item_Deploy_Post(ent)
  311. {
  312. static id; id = fm_cs_get_weapon_ent_owner(ent)
  313. if (!pev_valid(id))
  314. return
  315.  
  316. static weaponid
  317. weaponid = cs_get_weapon_id(ent)
  318.  
  319. if(weaponid != CSW_GATLING)
  320. return
  321. if(!g_had_gatling[id])
  322. return
  323.  
  324. set_pev(id, pev_viewmodel2, WeaponModel[0])
  325. set_pev(id, pev_weaponmodel2, WeaponModel[1])
  326.  
  327. set_weapon_anim(id, GATLING_ANIM_DRAW)
  328. set_pdata_string(id, m_szAnimExtention * 4, WEAPON_ANIMEXT, -1 , 20)
  329. }
  330.  
  331. public fw_Weapon_Reload_Post(ent)
  332. {
  333. static id; id = pev(ent, pev_owner)
  334.  
  335. if(g_had_gatling[id])
  336. {
  337. static CurBpAmmo; CurBpAmmo = cs_get_user_bpammo(id, CSW_GATLING)
  338.  
  339. if(CurBpAmmo <= 0)
  340. return HAM_IGNORED
  341.  
  342. set_pdata_int(ent, 55, 0, OFFSET_LINUX_WEAPONS)
  343. set_pdata_float(id, 83, RELOAD_TIME, OFFSET_LINUX_PLAYER)
  344. set_pdata_float(ent, 48, RELOAD_TIME + 0.5, OFFSET_LINUX_WEAPONS)
  345. set_pdata_float(ent, 46, RELOAD_TIME + 0.25, OFFSET_LINUX_WEAPONS)
  346. set_pdata_float(ent, 47, RELOAD_TIME + 0.25, OFFSET_LINUX_WEAPONS)
  347. set_pdata_int(ent, m_fInReload, 1, OFFSET_LINUX_WEAPONS)
  348.  
  349. set_weapon_anim(id, GATLING_ANIM_RELOAD)
  350.  
  351. return HAM_HANDLED
  352. }
  353.  
  354. return HAM_IGNORED
  355. }
  356.  
  357. public fw_Item_PostFrame(ent)
  358. {
  359. static id; id = pev(ent, pev_owner)
  360. if(!g_had_gatling[id]) return
  361.  
  362. static iBpAmmo ; iBpAmmo = get_pdata_int(id, 381, OFFSET_LINUX_PLAYER)
  363. static iClip ; iClip = get_pdata_int(ent, m_iClip, OFFSET_LINUX_WEAPONS)
  364. static iMaxClip ; iMaxClip = DEFAULT_CLIP
  365.  
  366. if(get_pdata_int(ent, m_fInReload, OFFSET_LINUX_WEAPONS) && get_pdata_float(id, m_flNextAttack, OFFSET_LINUX_PLAYER) <= 0.0)
  367. {
  368. static j; j = min(iMaxClip - iClip, iBpAmmo)
  369. set_pdata_int(ent, m_iClip, iClip + j, OFFSET_LINUX_WEAPONS)
  370. set_pdata_int(id, 381, iBpAmmo-j, OFFSET_LINUX_PLAYER)
  371.  
  372. set_pdata_int(ent, m_fInReload, 0, OFFSET_LINUX_WEAPONS)
  373. cs_set_weapon_ammo(ent, DEFAULT_CLIP)
  374.  
  375. update_ammo(id, CSW_GATLING, cs_get_weapon_ammo(ent), cs_get_user_bpammo(id, CSW_GATLING))
  376.  
  377. return
  378. }
  379. }
  380.  
  381. public fw_Item_AddToPlayer_Post(ent, id)
  382. {
  383. if(!pev_valid(ent))
  384. return HAM_IGNORED
  385.  
  386. if(pev(ent, pev_impulse) == WEAPON_SECRET_CODE)
  387. {
  388. remove_gatling(id)
  389. g_had_gatling[id] = 1
  390.  
  391. update_ammo(id, CSW_GATLING, cs_get_weapon_ammo(ent), cs_get_user_bpammo(id, CSW_GATLING))
  392. }
  393.  
  394. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("WeaponList"), _, id)
  395. write_string(g_had_gatling[id] == 1 ? "weapon_gatling" : "weapon_m3")
  396. write_byte(5)
  397. write_byte(200)
  398. write_byte(-1)
  399. write_byte(-1)
  400. write_byte(0)
  401. write_byte(5)
  402. write_byte(g_had_gatling[id] == 1 ? CSW_GATLING : CSW_M3)
  403. write_byte(0)
  404. message_end()
  405.  
  406. return HAM_IGNORED
  407. }
  408.  
  409. public fw_Weapon_PrimaryAttack(ent)
  410. {
  411. static id; id = pev(ent, pev_owner)
  412. if(!g_had_gatling[id])
  413. return
  414.  
  415. pev(id, pev_punchangle, g_punchangles[id])
  416. }
  417.  
  418. public fw_Weapon_PrimaryAttack_Post(ent)
  419. {
  420. static id; id = pev(ent, pev_owner)
  421. if(!g_had_gatling[id])
  422. return
  423.  
  424. static Float:push[3]
  425. pev(id, pev_punchangle, push)
  426. xs_vec_sub(push, g_punchangles[id], push)
  427.  
  428. xs_vec_mul_scalar(push, RECOIL, push)
  429. xs_vec_add(push, g_punchangles[id], push)
  430. set_pev(id, pev_punchangle, push)
  431. }
  432.  
  433. public update_ammo(id, csw_id, clip, bpammo)
  434. {
  435. if(!is_user_alive(id))
  436. return
  437.  
  438. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("CurWeapon"), _, id)
  439. write_byte(1)
  440. write_byte(csw_id)
  441. write_byte(clip)
  442. message_end()
  443.  
  444. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("AmmoX"), _, id)
  445. write_byte(3)
  446. write_byte(bpammo)
  447. message_end()
  448. }
  449.  
  450. public Event_Gatling_Shoot(id)
  451. {
  452. set_weapon_anim(id, random_num(GATLING_ANIM_SHOOT1, GATLING_ANIM_SHOOT2))
  453. emit_sound(id, CHAN_WEAPON, WeaponSound[0], 1.0, ATTN_NORM, 0, PITCH_NORM)
  454. }
  455.  
  456. stock fm_cs_get_weapon_ent_owner(ent)
  457. {
  458. if (pev_valid(ent) != PDATA_SAFE)
  459. return -1
  460.  
  461. return get_pdata_cbase(ent, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS)
  462. }
  463.  
  464. stock set_weapon_anim(id, anim)
  465. {
  466. if(!is_user_alive(id))
  467. return
  468.  
  469. set_pev(id, pev_weaponanim, anim)
  470.  
  471. message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, _, id)
  472. write_byte(anim)
  473. write_byte(0)
  474. message_end()
  475. }
  476.  
  477. stock drop_weapons(id, dropwhat)
  478. {
  479. static weapons[32], num, i, weaponid
  480. num = 0
  481. get_user_weapons(id, weapons, num)
  482.  
  483. const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_MAC10)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_MAC10)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
  484.  
  485. for (i = 0; i < num; i++)
  486. {
  487. weaponid = weapons[i]
  488.  
  489. if (dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM))
  490. {
  491. static wname[32]
  492. get_weaponname(weaponid, wname, sizeof wname - 1)
  493. engclient_cmd(id, "drop", wname)
  494. }
  495. }
  496. }
  497.  
  498.  
  499. stock make_bullet(id, Float:Origin[3])
  500. {
  501. // Find target
  502. new decal = random_num(41, 45)
  503. const loop_time = 2
  504.  
  505. static Body, Target
  506. get_user_aiming(id, Target, Body, 999999)
  507.  
  508. if(is_user_connected(Target))
  509. return
  510.  
  511. for(new i = 0; i < loop_time; i++)
  512. {
  513. // Put decal on "world" (a wall)
  514. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  515. write_byte(TE_WORLDDECAL)
  516. engfunc(EngFunc_WriteCoord, Origin[0])
  517. engfunc(EngFunc_WriteCoord, Origin[1])
  518. engfunc(EngFunc_WriteCoord, Origin[2])
  519. write_byte(decal)
  520. message_end()
  521.  
  522. // Show sparcles
  523. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  524. write_byte(TE_GUNSHOTDECAL)
  525. engfunc(EngFunc_WriteCoord, Origin[0])
  526. engfunc(EngFunc_WriteCoord, Origin[1])
  527. engfunc(EngFunc_WriteCoord, Origin[2])
  528. write_short(id)
  529. write_byte(decal)
  530. message_end()
  531. }
  532. }
  533.  
  534. public fake_smoke(id, trace_result)
  535. {
  536. static Float:vecSrc[3], Float:vecEnd[3], TE_FLAG
  537.  
  538. get_weapon_attachment(id, vecSrc)
  539. global_get(glb_v_forward, vecEnd)
  540.  
  541. xs_vec_mul_scalar(vecEnd, 8192.0, vecEnd)
  542. xs_vec_add(vecSrc, vecEnd, vecEnd)
  543.  
  544. get_tr2(trace_result, TR_vecEndPos, vecSrc)
  545. get_tr2(trace_result, TR_vecPlaneNormal, vecEnd)
  546.  
  547. xs_vec_mul_scalar(vecEnd, 2.5, vecEnd)
  548. xs_vec_add(vecSrc, vecEnd, vecEnd)
  549.  
  550. TE_FLAG |= TE_EXPLFLAG_NODLIGHTS
  551. TE_FLAG |= TE_EXPLFLAG_NOSOUND
  552. TE_FLAG |= TE_EXPLFLAG_NOPARTICLES
  553.  
  554. engfunc(EngFunc_MessageBegin, MSG_PAS, SVC_TEMPENTITY, vecEnd, 0)
  555. write_byte(TE_EXPLOSION)
  556. engfunc(EngFunc_WriteCoord, vecEnd[0])
  557. engfunc(EngFunc_WriteCoord, vecEnd[1])
  558. engfunc(EngFunc_WriteCoord, vecEnd[2] - 10.0)
  559. write_short(g_smokepuff_id)
  560. write_byte(2)
  561. write_byte(50)
  562. write_byte(TE_FLAG)
  563. message_end()
  564. }
  565.  
  566. stock get_weapon_attachment(id, Float:output[3], Float:fDis = 40.0)
  567. {
  568. new Float:vfEnd[3], viEnd[3]
  569. get_user_origin(id, viEnd, 3)
  570. IVecFVec(viEnd, vfEnd)
  571.  
  572. new Float:fOrigin[3], Float:fAngle[3]
  573.  
  574. pev(id, pev_origin, fOrigin)
  575. pev(id, pev_view_ofs, fAngle)
  576.  
  577. xs_vec_add(fOrigin, fAngle, fOrigin)
  578.  
  579. new Float:fAttack[3]
  580.  
  581. xs_vec_sub(vfEnd, fOrigin, fAttack)
  582. xs_vec_sub(vfEnd, fOrigin, fAttack)
  583.  
  584. new Float:fRate
  585.  
  586. fRate = fDis / vector_length(fAttack)
  587. xs_vec_mul_scalar(fAttack, fRate, fAttack)
  588.  
  589. xs_vec_add(fOrigin, fAttack, output)
  590. }
  591.  
  592. stock create_blood(const Float:origin[3])
  593. {
  594. // Show some blood <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->
  595. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  596. write_byte(TE_BLOODSPRITE)
  597. engfunc(EngFunc_WriteCoord, origin[0])
  598. engfunc(EngFunc_WriteCoord, origin[1])
  599. engfunc(EngFunc_WriteCoord, origin[2])
  600. write_short(m_iBlood[1])
  601. write_short(m_iBlood[0])
  602. write_byte(75)
  603. write_byte(5)
  604. message_end()
  605. }
  606.  


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hol található ez az SMA-ban?
HozzászólásElküldve: 2013.06.21. 06:23 
Offline
Félisten
Avatar

Csatlakozott: 2010.09.16. 20:57
Hozzászólások: 950
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 101 alkalommal
Általában ízért rakja elölre, mert precache-ban van regisztrálva az extra item, ha nem akarod akk át kell írnod init-be, szín változtatás: extra item nevébe ilyeneket kell beleírni: \r - piros, \y - sárga, \w - fehér pl: "\rG\ya\rtling"

_________________
Weboldalam: nandee.smmg.hu
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hol található ez az SMA-ban?
HozzászólásElküldve: 2013.06.21. 11:12 
Offline
Jómunkásember

Csatlakozott: 2013.02.11. 16:06
Hozzászólások: 491
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 50 alkalommal
Ezt beakarod rakni ZP extrának? ugyanis Dias mindig 2-t csinál, 1 pub ra 1 zp re. azt tedd be ami elé oda van irva hogy zp.:)

_________________
Rengeteg új beszólás eléréséhez kattints IDE (Ezek alapból sank soundshoz készültek)

Steam profil:
[steam]http://steamcommunity.com/profiles/76561198089487307[/steam]


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hol található ez az SMA-ban?
HozzászólásElküldve: 2013.06.21. 12:17 
Offline
Senior Tag
Avatar

Csatlakozott: 2013.06.11. 13:32
Hozzászólások: 254
Megköszönt másnak: 31 alkalommal
Megköszönték neki: 2 alkalommal
initbe nem tudom átírni a másik pedig, hogy akkor a zp_extra-sat rakom.. bár a 2 között én különbséget nem fedeztem fel.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hol található ez az SMA-ban?
HozzászólásElküldve: 2013.06.21. 12:42 
Offline
Félisten
Avatar

Csatlakozott: 2010.09.16. 20:57
Hozzászólások: 950
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 101 alkalommal
Dias mindig precache-ba írja nem tudom miért, de elég szarul csinálja, a fegyverben nincs különbség csak annyi h az zs-s belerakja az extra item menübe, a másik meg chat parancsra tudod a fegyót hívni.

_________________
Weboldalam: nandee.smmg.hu
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hol található ez az SMA-ban?
HozzászólásElküldve: 2013.06.21. 12:51 
Offline
Senior Tag
Avatar

Csatlakozott: 2013.06.11. 13:32
Hozzászólások: 254
Megköszönt másnak: 31 alkalommal
Megköszönték neki: 2 alkalommal
Nandee írta:
Dias mindig precache-ba írja nem tudom miért, de elég szarul csinálja, a fegyverben nincs különbség csak annyi h az zs-s belerakja az extra item menübe, a másik meg chat parancsra tudod a fegyót hívni.


értem. és akkor nehéz lenne azt megcsinálni, hogy ne első helyre rakja?


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  [ 6 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 51 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