hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.29. 12:44



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [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: CSO Fegyverek
HozzászólásElküldve: 2012.10.19. 22:34 
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
Hello Megint en

Szeretnem meg kerdezni ( kerni tutorialt ) hogy hogyan kell att csinalni CSO - s fegyvereket CS 1.6 -os ba

Le irnatok
koszonom


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: CSO Fegyverek
HozzászólásElküldve: 2012.10.20. 07:11 
Offline
Minden6ó
Avatar

Csatlakozott: 2011.01.19. 12:14
Hozzászólások: 4280
Megköszönt másnak: 218 alkalommal
Megköszönték neki: 285 alkalommal
Extra? ha igen akkor az cs1.6ra van, vagyis nem nagyon ismerem a cso-t. De majd írnak a cso mesterek pl:rericsi8, DeteCTOR

_________________
<<eb@>>Team Website - Közösség
17Buddies - Általam készített pályák.
GameBanana - Általam készített pályák/vágott hangok.

Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: CSO Fegyverek
HozzászólásElküldve: 2012.10.20. 08:41 
Offline
Őskövület
Avatar

Csatlakozott: 2011.09.26. 20:33
Hozzászólások: 2105
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 33 alkalommal
a legjobb helyen jársz!
mutatom

Eredeti ZP-s cso fegyó:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. #include <amxmodx>
  3. #include <engine>
  4. #include <fakemeta>
  5. #include <fun>
  6. #include <hamsandwich>
  7. #include <xs>
  8. #include <cstrike>
  9. #include <zombieplague>
  10.  
  11. #define ENG_NULLENT -1
  12. #define EV_INT_WEAPONKEY EV_INT_impulse
  13. #define trg42g_WEAPONKEY 820
  14. #define MAX_PLAYERS 32
  15. #define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)
  16.  
  17. const USE_STOPPED = 0
  18. const OFFSET_ACTIVE_ITEM = 373
  19. const OFFSET_WEAPONOWNER = 41
  20. const OFFSET_LINUX = 5
  21. const OFFSET_LINUX_WEAPONS = 4
  22.  
  23. #define WEAP_LINUX_XTRA_OFF 4
  24. #define m_fKnown 44
  25. #define m_flNextPrimaryAttack 46
  26. #define m_flTimeWeaponIdle 48
  27. #define m_iClip 51
  28. #define m_fInReload 54
  29. #define PLAYER_LINUX_XTRA_OFF 5
  30. #define m_flNextAttack 83
  31.  
  32. #define trg42g_RELOAD_TIME 3.0
  33. #define trg42g_SHOOT1 1
  34. #define trg42g_SHOOT2 2
  35. #define trg42g_RELOAD 4
  36. #define trg42g_DRAW 5
  37.  
  38. #define write_coord_f(%1) engfunc(EngFunc_WriteCoord,%1)
  39.  
  40. new const Fire_Sounds[][] = { "weapons/trg42.wav" }
  41.  
  42. new trg42g_V_MODEL[64] = "models/zm/v_trg42g.mdl"
  43. new trg42g_P_MODEL[64] = "models/zm/p_trg42g.mdl"
  44. new trg42g_W_MODEL[64] = "models/zm/w_trg42g.mdl"
  45.  
  46. new const GUNSHOT_DECALS[] = { 41, 42, 43, 44, 45 }
  47.  
  48. new cvar_dmg_trg42g, cvar_recoil_trg42g, g_itemid_trg42g, cvar_clip_trg42g, cvar_spd_trg42g, cvar_trg42g_ammo
  49. new g_MaxPlayers, g_orig_event_trg42g, g_IsInPrimaryAttack
  50. new Float:cl_pushangle[MAX_PLAYERS + 1][3], m_iBlood[2]
  51. new g_has_trg42g[33], g_clip_ammo[33], g_trg42g_TmpClip[33], oldweap[33]
  52. new gmsgWeaponList
  53.  
  54. const PRIMARY_WEAPONS_BIT_SUM =
  55. (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<
  56. 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)
  57. new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
  58. "weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
  59. "weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
  60. "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
  61. "weapon_ak47", "weapon_knife", "weapon_p90" }
  62.  
  63. public plugin_init()
  64. {
  65. register_plugin("[ZP] Extra: TRG-42 Platinum Edition", "1.0", "Crock / =) (Poprogun4ik) / LARS-DAY[BR]EAKER")
  66. register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
  67. register_event("CurWeapon","CurrentWeapon","be","1=1")
  68. RegisterHam(Ham_Item_AddToPlayer, "weapon_awp", "fw_trg42g_AddToPlayer")
  69. RegisterHam(Ham_Use, "func_tank", "fw_UseStationary_Post", 1)
  70. RegisterHam(Ham_Use, "func_tankmortar", "fw_UseStationary_Post", 1)
  71. RegisterHam(Ham_Use, "func_tankrocket", "fw_UseStationary_Post", 1)
  72. RegisterHam(Ham_Use, "func_tanklaser", "fw_UseStationary_Post", 1)
  73. for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
  74. if (WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_Deploy, WEAPONENTNAMES[i], "fw_Item_Deploy_Post", 1)
  75. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_awp", "fw_trg42g_PrimaryAttack")
  76. RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_awp", "fw_trg42g_PrimaryAttack_Post", 1)
  77. RegisterHam(Ham_Item_PostFrame, "weapon_awp", "trg42g_ItemPostFrame")
  78. RegisterHam(Ham_Weapon_Reload, "weapon_awp", "trg42g_Reload")
  79. RegisterHam(Ham_Weapon_Reload, "weapon_awp", "trg42g_Reload_Post", 1)
  80. RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
  81. register_forward(FM_SetModel, "fw_SetModel")
  82. register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
  83. register_forward(FM_PlaybackEvent, "fwPlaybackEvent")
  84.  
  85. RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack", 1)
  86. RegisterHam(Ham_TraceAttack, "func_breakable", "fw_TraceAttack", 1)
  87. RegisterHam(Ham_TraceAttack, "func_wall", "fw_TraceAttack", 1)
  88. RegisterHam(Ham_TraceAttack, "func_door", "fw_TraceAttack", 1)
  89. RegisterHam(Ham_TraceAttack, "func_door_rotating", "fw_TraceAttack", 1)
  90. RegisterHam(Ham_TraceAttack, "func_plat", "fw_TraceAttack", 1)
  91. RegisterHam(Ham_TraceAttack, "func_rotating", "fw_TraceAttack", 1)
  92.  
  93. cvar_dmg_trg42g = register_cvar("zp_trg42g_dmg", "1.2")
  94. cvar_recoil_trg42g = register_cvar("zp_trg42g_recoil", "0.94")
  95. cvar_clip_trg42g = register_cvar("zp_trg42g_clip", "10")
  96. cvar_spd_trg42g = register_cvar("zp_trg42g_spd", "1.0")
  97. cvar_trg42g_ammo = register_cvar("zp_trg42g_ammo", "90")
  98.  
  99. g_itemid_trg42g = zp_register_extra_item("[Sn. Rifle] \rTRG-42 White Gold", 10, ZP_TEAM_HUMAN)
  100. g_MaxPlayers = get_maxplayers()
  101. gmsgWeaponList = get_user_msgid("WeaponList")
  102. }
  103.  
  104. public plugin_precache()
  105. {
  106. precache_model(trg42g_V_MODEL)
  107. precache_model(trg42g_P_MODEL)
  108. precache_model(trg42g_W_MODEL)
  109. for(new i = 0; i < sizeof Fire_Sounds; i++)
  110. precache_sound(Fire_Sounds[i])
  111. precache_sound("weapons/trg_clipin.wav")
  112. precache_sound("weapons/trg_clipout.wav")
  113. precache_sound("weapons/trg_foley1.wav")
  114. precache_sound("weapons/trg_foley2.wav")
  115. precache_sound("weapons/trg_foley3.wav")
  116. m_iBlood[0] = precache_model("sprites/blood.spr")
  117. m_iBlood[1] = precache_model("sprites/bloodspray.spr")
  118. precache_generic("sprites/weapon_trg42g.txt")
  119. precache_generic("sprites/zm/640hud29.spr")
  120. precache_generic("sprites/zm/640hud7.spr")
  121.  
  122. register_clcmd("weapon_trg42g", "weapon_hook")
  123.  
  124. register_forward(FM_PrecacheEvent, "fwPrecacheEvent_Post", 1)
  125. }
  126.  
  127. public weapon_hook(id)
  128. {
  129. engclient_cmd(id, "weapon_awp")
  130. return PLUGIN_HANDLED
  131. }
  132.  
  133. public fw_TraceAttack(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
  134. {
  135. if(!is_user_alive(iAttacker))
  136. return
  137.  
  138. new g_currentweapon = get_user_weapon(iAttacker)
  139.  
  140. if(g_currentweapon != CSW_AWP) return
  141.  
  142. if(!g_has_trg42g[iAttacker]) return
  143.  
  144. static Float:flEnd[3]
  145. get_tr2(ptr, TR_vecEndPos, flEnd)
  146.  
  147. if(iEnt)
  148. {
  149. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  150. write_byte(TE_DECAL)
  151. write_coord_f(flEnd[0])
  152. write_coord_f(flEnd[1])
  153. write_coord_f(flEnd[2])
  154. write_byte(GUNSHOT_DECALS[random_num (0, sizeof GUNSHOT_DECALS -1)])
  155. write_short(iEnt)
  156. message_end()
  157. }
  158. else
  159. {
  160. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  161. write_byte(TE_WORLDDECAL)
  162. write_coord_f(flEnd[0])
  163. write_coord_f(flEnd[1])
  164. write_coord_f(flEnd[2])
  165. write_byte(GUNSHOT_DECALS[random_num (0, sizeof GUNSHOT_DECALS -1)])
  166. message_end()
  167. }
  168. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  169. write_byte(TE_GUNSHOTDECAL)
  170. write_coord_f(flEnd[0])
  171. write_coord_f(flEnd[1])
  172. write_coord_f(flEnd[2])
  173. write_short(iAttacker)
  174. write_byte(GUNSHOT_DECALS[random_num (0, sizeof GUNSHOT_DECALS -1)])
  175. message_end()
  176. }
  177.  
  178. public zp_user_humanized_post(id)
  179. {
  180. g_has_trg42g[id] = false
  181. }
  182.  
  183. public plugin_natives ()
  184. {
  185. register_native("give_weapon_trg42g", "native_give_weapon_add", 1)
  186. }
  187. public native_give_weapon_add(id)
  188. {
  189. give_trg42g(id)
  190. }
  191.  
  192. public fwPrecacheEvent_Post(type, const name[])
  193. {
  194. if (equal("events/awp.sc", name))
  195. {
  196. g_orig_event_trg42g = get_orig_retval()
  197. return FMRES_HANDLED
  198. }
  199. return FMRES_IGNORED
  200. }
  201.  
  202. public client_connect(id)
  203. {
  204. g_has_trg42g[id] = false
  205. }
  206.  
  207. public client_disconnect(id)
  208. {
  209. g_has_trg42g[id] = false
  210. }
  211.  
  212. public zp_user_infected_post(id)
  213. {
  214. if (zp_get_user_zombie(id))
  215. {
  216. g_has_trg42g[id] = false
  217. }
  218. }
  219.  
  220. public fw_SetModel(entity, model[])
  221. {
  222. if(!is_valid_ent(entity))
  223. return FMRES_IGNORED
  224.  
  225. static szClassName[33]
  226. entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))
  227.  
  228. if(!equal(szClassName, "weaponbox"))
  229. return FMRES_IGNORED
  230.  
  231. static iOwner
  232.  
  233. iOwner = entity_get_edict(entity, EV_ENT_owner)
  234.  
  235. if(equal(model, "models/w_awp.mdl"))
  236. {
  237. static iStoredAugID
  238.  
  239. iStoredAugID = find_ent_by_owner(ENG_NULLENT, "weapon_awp", entity)
  240.  
  241. if(!is_valid_ent(iStoredAugID))
  242. return FMRES_IGNORED
  243.  
  244. if(g_has_trg42g[iOwner])
  245. {
  246. entity_set_int(iStoredAugID, EV_INT_WEAPONKEY, trg42g_WEAPONKEY)
  247.  
  248. g_has_trg42g[iOwner] = false
  249.  
  250. entity_set_model(entity, trg42g_W_MODEL)
  251.  
  252. return FMRES_SUPERCEDE
  253. }
  254. }
  255. return FMRES_IGNORED
  256. }
  257.  
  258. public give_trg42g(id)
  259. {
  260. drop_weapons(id, 1)
  261. new iWep2 = give_item(id,"weapon_awp")
  262. if( iWep2 > 0 )
  263. {
  264. cs_set_weapon_ammo(iWep2, get_pcvar_num(cvar_clip_trg42g))
  265. cs_set_user_bpammo (id, CSW_AWP, get_pcvar_num(cvar_trg42g_ammo))
  266. UTIL_PlayWeaponAnimation(id, trg42g_DRAW)
  267. set_pdata_float(id, m_flNextAttack, 1.0, PLAYER_LINUX_XTRA_OFF)
  268.  
  269. message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
  270. write_string("weapon_trg42g")
  271. write_byte(1)
  272. write_byte(30)
  273. write_byte(-1)
  274. write_byte(-1)
  275. write_byte(0)
  276. write_byte(2)
  277. write_byte(CSW_AWP)
  278. message_end()
  279. }
  280. g_has_trg42g[id] = true
  281. }
  282.  
  283. public zp_extra_item_selected(id, itemid)
  284. {
  285. if(itemid != g_itemid_trg42g)
  286. return
  287.  
  288. give_trg42g(id)
  289. }
  290.  
  291. public fw_trg42g_AddToPlayer(trg42g, id)
  292. {
  293. if(!is_valid_ent(trg42g) || !is_user_connected(id))
  294. return HAM_IGNORED
  295.  
  296. if(entity_get_int(trg42g, EV_INT_WEAPONKEY) == trg42g_WEAPONKEY)
  297. {
  298. g_has_trg42g[id] = true
  299.  
  300. entity_set_int(trg42g, EV_INT_WEAPONKEY, 0)
  301.  
  302. message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
  303. write_string("weapon_trg42g")
  304. write_byte(1)
  305. write_byte(30)
  306. write_byte(-1)
  307. write_byte(-1)
  308. write_byte(0)
  309. write_byte(2)
  310. write_byte(CSW_AWP)
  311. message_end()
  312.  
  313. return HAM_HANDLED
  314. }
  315. else
  316. {
  317. message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
  318. write_string("weapon_awp")
  319. write_byte(1)
  320. write_byte(30)
  321. write_byte(-1)
  322. write_byte(-1)
  323. write_byte(0)
  324. write_byte(2)
  325. write_byte(CSW_AWP)
  326. message_end()
  327. }
  328. return HAM_IGNORED
  329. }
  330.  
  331. public fw_UseStationary_Post(entity, caller, activator, use_type)
  332. {
  333. if (use_type == USE_STOPPED && is_user_connected(caller))
  334. replace_weapon_models(caller, get_user_weapon(caller))
  335. }
  336.  
  337. public fw_Item_Deploy_Post(weapon_ent)
  338. {
  339. static owner
  340. owner = fm_cs_get_weapon_ent_owner(weapon_ent)
  341.  
  342. static weaponid
  343. weaponid = cs_get_weapon_id(weapon_ent)
  344.  
  345. replace_weapon_models(owner, weaponid)
  346. }
  347.  
  348. public CurrentWeapon(id)
  349. {
  350. replace_weapon_models(id, read_data(2))
  351.  
  352. if(read_data(2) != CSW_AWP || !g_has_trg42g[id])
  353. return
  354.  
  355. static Float:iSpeed
  356. if(g_has_trg42g[id])
  357. iSpeed = get_pcvar_float(cvar_spd_trg42g)
  358.  
  359. static weapon[32],Ent
  360. get_weaponname(read_data(2),weapon,31)
  361. Ent = find_ent_by_owner(-1,weapon,id)
  362. if(Ent)
  363. {
  364. static Float:Delay
  365. Delay = get_pdata_float( Ent, 46, 4) * iSpeed
  366. if (Delay > 0.0)
  367. {
  368. set_pdata_float(Ent, 46, Delay, 4)
  369. }
  370. }
  371. }
  372.  
  373. replace_weapon_models(id, weaponid)
  374. {
  375. switch (weaponid)
  376. {
  377. case CSW_AWP:
  378. {
  379. if (zp_get_user_zombie(id) || zp_get_user_survivor(id))
  380. return
  381.  
  382. if(g_has_trg42g[id])
  383. {
  384. set_pev(id, pev_viewmodel2, trg42g_V_MODEL)
  385. set_pev(id, pev_weaponmodel2, trg42g_P_MODEL)
  386. if(oldweap[id] != CSW_AWP)
  387. {
  388. UTIL_PlayWeaponAnimation(id, trg42g_DRAW)
  389. set_pdata_float(id, m_flNextAttack, 1.0, PLAYER_LINUX_XTRA_OFF)
  390.  
  391. message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
  392. write_string("weapon_trg42g")
  393. write_byte(1)
  394. write_byte(30)
  395. write_byte(-1)
  396. write_byte(-1)
  397. write_byte(0)
  398. write_byte(2)
  399. write_byte(CSW_AWP)
  400. message_end()
  401. }
  402. }
  403. }
  404. }
  405. oldweap[id] = weaponid
  406. }
  407.  
  408. public fw_UpdateClientData_Post(Player, SendWeapons, CD_Handle)
  409. {
  410. if(!is_user_alive(Player) || (get_user_weapon(Player) != CSW_AWP || !g_has_trg42g[Player]))
  411. return FMRES_IGNORED
  412.  
  413. set_cd(CD_Handle, CD_flNextAttack, halflife_time () + 0.001)
  414. return FMRES_HANDLED
  415. }
  416.  
  417. public fw_trg42g_PrimaryAttack(Weapon)
  418. {
  419. new Player = get_pdata_cbase(Weapon, 41, 4)
  420.  
  421. if (!g_has_trg42g[Player])
  422. return
  423.  
  424. g_IsInPrimaryAttack = 1
  425. pev(Player,pev_punchangle,cl_pushangle[Player])
  426.  
  427. g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
  428. }
  429.  
  430. public fwPlaybackEvent(flags, invoker, eventid, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2)
  431. {
  432. if ((eventid != g_orig_event_trg42g) || !g_IsInPrimaryAttack)
  433. return FMRES_IGNORED
  434. if (!(1 <= invoker <= g_MaxPlayers))
  435. return FMRES_IGNORED
  436.  
  437. playback_event(flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
  438. return FMRES_SUPERCEDE
  439. }
  440.  
  441. public fw_trg42g_PrimaryAttack_Post(Weapon)
  442. {
  443. g_IsInPrimaryAttack = 0
  444. new Player = get_pdata_cbase(Weapon, 41, 4)
  445.  
  446. new szClip, szAmmo
  447. get_user_weapon(Player, szClip, szAmmo)
  448.  
  449. if(!is_user_alive(Player))
  450. return
  451.  
  452. if(g_has_trg42g[Player])
  453. {
  454. if (!g_clip_ammo[Player])
  455. return
  456.  
  457. new Float:push[3]
  458. pev(Player,pev_punchangle,push)
  459. xs_vec_sub(push,cl_pushangle[Player],push)
  460.  
  461. xs_vec_mul_scalar(push,get_pcvar_float(cvar_recoil_trg42g),push)
  462. xs_vec_add(push,cl_pushangle[Player],push)
  463. set_pev(Player,pev_punchangle,push)
  464.  
  465. emit_sound(Player, CHAN_WEAPON, Fire_Sounds[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  466. UTIL_PlayWeaponAnimation(Player, random_num(trg42g_SHOOT1, trg42g_SHOOT2))
  467. }
  468. }
  469.  
  470. public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
  471. {
  472. if (victim != attacker && is_user_connected(attacker))
  473. {
  474. if(get_user_weapon(attacker) == CSW_AWP)
  475. {
  476. if(g_has_trg42g[attacker])
  477. SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmg_trg42g))
  478. }
  479. }
  480. }
  481.  
  482. public message_DeathMsg(msg_id, msg_dest, id)
  483. {
  484. static szTruncatedWeapon[33], iAttacker, iVictim
  485.  
  486. get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))
  487.  
  488. iAttacker = get_msg_arg_int(1)
  489. iVictim = get_msg_arg_int(2)
  490.  
  491. if(!is_user_connected(iAttacker) || iAttacker == iVictim)
  492. return PLUGIN_CONTINUE
  493.  
  494. if(equal(szTruncatedWeapon, "awp") && get_user_weapon(iAttacker) == CSW_AWP)
  495. {
  496. if(g_has_trg42g[iAttacker])
  497. set_msg_arg_string(4, "awp")
  498. }
  499. return PLUGIN_CONTINUE
  500. }
  501.  
  502. stock fm_cs_get_current_weapon_ent(id)
  503. {
  504. return get_pdata_cbase(id, OFFSET_ACTIVE_ITEM, OFFSET_LINUX)
  505. }
  506.  
  507. stock fm_cs_get_weapon_ent_owner(ent)
  508. {
  509. return get_pdata_cbase(ent, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS)
  510. }
  511.  
  512. stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
  513. {
  514. set_pev(Player, pev_weaponanim, Sequence)
  515.  
  516. message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
  517. write_byte(Sequence)
  518. write_byte(pev(Player, pev_body))
  519. message_end()
  520. }
  521.  
  522. public trg42g_ItemPostFrame(weapon_entity)
  523. {
  524. new id = pev(weapon_entity, pev_owner)
  525. if (!is_user_connected(id))
  526. return HAM_IGNORED
  527.  
  528. if (!g_has_trg42g[id])
  529. return HAM_IGNORED
  530.  
  531. static iClipExtra
  532.  
  533. iClipExtra = get_pcvar_num(cvar_clip_trg42g)
  534. new Float:flNextAttack = get_pdata_float(id, m_flNextAttack, PLAYER_LINUX_XTRA_OFF)
  535.  
  536. new iBpAmmo = cs_get_user_bpammo(id, CSW_AWP)
  537. new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
  538.  
  539. new fInReload = get_pdata_int(weapon_entity, m_fInReload, WEAP_LINUX_XTRA_OFF)
  540.  
  541. if( fInReload && flNextAttack <= 0.0 )
  542. {
  543. new j = min(iClipExtra - iClip, iBpAmmo)
  544.  
  545. set_pdata_int(weapon_entity, m_iClip, iClip + j, WEAP_LINUX_XTRA_OFF)
  546. cs_set_user_bpammo(id, CSW_AWP, iBpAmmo-j)
  547.  
  548. set_pdata_int(weapon_entity, m_fInReload, 0, WEAP_LINUX_XTRA_OFF)
  549. fInReload = 0
  550. }
  551. return HAM_IGNORED
  552. }
  553.  
  554. public trg42g_Reload(weapon_entity)
  555. {
  556. new id = pev(weapon_entity, pev_owner)
  557. if (!is_user_connected(id))
  558. return HAM_IGNORED
  559.  
  560. if (!g_has_trg42g[id])
  561. return HAM_IGNORED
  562.  
  563. static iClipExtra
  564.  
  565. if(g_has_trg42g[id])
  566. iClipExtra = get_pcvar_num(cvar_clip_trg42g)
  567.  
  568. g_trg42g_TmpClip[id] = -1
  569.  
  570. new iBpAmmo = cs_get_user_bpammo(id, CSW_AWP)
  571. new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
  572.  
  573. if (iBpAmmo <= 0)
  574. return HAM_SUPERCEDE
  575.  
  576. if (iClip >= iClipExtra)
  577. return HAM_SUPERCEDE
  578.  
  579. g_trg42g_TmpClip[id] = iClip
  580.  
  581. return HAM_IGNORED
  582. }
  583.  
  584. public trg42g_Reload_Post(weapon_entity)
  585. {
  586. new id = pev(weapon_entity, pev_owner)
  587. if (!is_user_connected(id))
  588. return HAM_IGNORED
  589.  
  590. if (!g_has_trg42g[id])
  591. return HAM_IGNORED
  592.  
  593. if (g_trg42g_TmpClip[id] == -1)
  594. return HAM_IGNORED
  595.  
  596. set_pdata_int(weapon_entity, m_iClip, g_trg42g_TmpClip[id], WEAP_LINUX_XTRA_OFF)
  597.  
  598. set_pdata_float(weapon_entity, m_flTimeWeaponIdle, trg42g_RELOAD_TIME, WEAP_LINUX_XTRA_OFF)
  599.  
  600. set_pdata_float(id, m_flNextAttack, trg42g_RELOAD_TIME, PLAYER_LINUX_XTRA_OFF)
  601.  
  602. set_pdata_int(weapon_entity, m_fInReload, 1, WEAP_LINUX_XTRA_OFF)
  603.  
  604. UTIL_PlayWeaponAnimation(id, trg42g_RELOAD)
  605.  
  606. return HAM_IGNORED
  607. }
  608.  
  609. stock drop_weapons(id, dropwhat)
  610. {
  611. static weapons[32], num, i, weaponid
  612. num = 0
  613. get_user_weapons(id, weapons, num)
  614.  
  615. for (i = 0; i < num; i++)
  616. {
  617. weaponid = weapons[i]
  618.  
  619. if (dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM))
  620. {
  621. static wname[32]
  622. get_weaponname(weaponid, wname, sizeof wname - 1)
  623. engclient_cmd(id, "drop", wname)
  624. }
  625. }
  626. }
  627.  


Először is:
Átírjuk a zp-s register kódot public-ra
ELőtte:
SMA Forráskód: [ Mindet kijelol ]
  1. g_itemid_trg42g = zp_register_extra_item("[Sn. Rifle] \rTRG-42 White Gold", 10, ZP_TEAM_HUMAN)

Utána:
SMA Forráskód: [ Mindet kijelol ]
  1. register_clcmd("say /trg42", "trg42") //ezzel a kóddal helyettesítjük, persze nem kötelező say-t használni és a fegyó nevét is átírhatod

Aztán megkeressük ezeket a sorokat és kitöröljük mert fölösgeles:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. public zp_user_humanized_post(id)
  3. {
  4. g_has_trg42g[id] = false
  5. }
  6.  


SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. public zp_user_infected_post(id)
  3. {
  4. if (zp_get_user_zombie(id))
  5. {
  6. g_has_trg42g[id] = false
  7. }
  8. }
  9.  


Majd ahol eredetileg ez van:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. public zp_extra_item_selected(id, itemid)
  3. {
  4. if(itemid != g_itemid_trg42g)
  5. return
  6.  
  7. give_trg42g(id)
  8. }
  9.  


Ott átírod a zp_extra_item_selected-et arra a cmd-re amit a register_clcmd-nél meg adtál, ezesetben trg42, tehát így nézzen ki:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. public trg42(id, itemid)
  3. {
  4. if(itemid != g_itemid_trg42g)
  5. return
  6.  
  7. give_trg42g(id)
  8. }
  9.  

Majd megkeresed a replace_weapon_models részleget és ezt a sort:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. if (zp_get_user_zombie(id) || zp_get_user_survivor(id))
  3. return
  4.  

lecseréled erre:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. new CsTeams:userTeam = cs_get_user_team(id)
  3. if (userTeam == CS_TEAM_CT & CS_TEAM_T & CS_TEAM_SPECTATOR)
  4. return
  5.  


Ez azért kellet hogy CT, T és Spec is lássa a P és V modellt
Ha még ilyet is találsz vhol:
SMA Forráskód: [ Mindet kijelol ]
  1. zp_get_user_zombie

írd át erre:
SMA Forráskód: [ Mindet kijelol ]
  1. cs_get_user_team


Köszönöm a figyelmet :D

ui: jobb cso-s vagyok mint detector ;)

Ők köszönték meg rericsi8 nek ezt a hozzászólást (összesen 4): laki5000 (2013.06.19. 11:43) • Gatshow (2013.08.29. 13:17) • kiki (2013.11.01. 15:31) • NiGGeR-BorZ (2013.11.01. 19:55)
  Népszerűség: 9.09%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: CSO Fegyverek
HozzászólásElküldve: 2012.10.20. 10:23 
Offline
Őskövület
Avatar

Csatlakozott: 2011.09.26. 20:33
Hozzászólások: 2105
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 33 alkalommal
thx :D, mehetne de nemm1 mert minden zp-s fegyó máshogy van megírva


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: CSO Fegyverek
HozzászólásElküldve: 2013.11.01. 16:29 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.10.27. 23:13
Hozzászólások: 412
Megköszönt másnak: 21 alkalommal
Megköszönték neki: 68 alkalommal
ezt kerestem. :moto:

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: CSO Fegyverek
HozzászólásElküldve: 2013.11.01. 16:58 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.10.27. 23:13
Hozzászólások: 412
Megköszönt másnak: 21 alkalommal
Megköszönték neki: 68 alkalommal
Sikerült köszike!megy a gomb !

_________________
Kép


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